@keyframes portraitIn{0%{opacity:0;transform:translateX(calc(100% + max(2rem,52.5vw - 560px)))}to{opacity:1;transform:translateX(0)}}@keyframes tagIn{0%{opacity:0;transform:translateX(-105vw)}30%{opacity:.3}to{opacity:1;transform:translateX(0)}}@keyframes ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}:root{--dominant:#F4F4F6;--secondary:#1A1D20;--secondary-alt:#22252a;--accent:#DF2935;--grey-200:#E8E8EB;--grey-300:#D1D1D6;--grey-400:#A0A0A8;--grey-500:#6E6E78;--surface:#FFFFFF;--surface-alt:#F8F8FA;--surface-deep:#ECECF0;--nav-bg:rgba(244, 244, 246, 0.65);--success-bg:#f0fdf4;--success-border:#bbf7d0;--success-text:#16a34a;--error-bg:#fef2f2;--error-border:#fecaca}[data-theme=dark]{--dominant:#1A1D20;--secondary:#F4F4F6;--secondary-alt:#F4F4F6;--grey-200:#2a2d32;--grey-300:#3a3d44;--grey-400:#8a8a94;--grey-500:#a0a0aa;--surface:#22252a;--surface-alt:#2c3037;--surface-deep:#22252a;--nav-bg:rgba(26, 29, 32, 0.8);--success-bg:#0a2618;--success-border:#166534;--success-text:#4ade80;--error-bg:#2a0a0a;--error-border:#7f1d1d}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Inter",system-ui,-apple-system,sans-serif;background:var(--dominant);color:var(--secondary);-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}::selection{background:var(--accent);color:#fff}header nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--grey-200)}.nav-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0}@media screen and (max-width:1200px){.nav-inner{padding:0 2rem}}.nav-logo{font-weight:700;font-size:1.1rem;color:var(--secondary);text-decoration:none;letter-spacing:-.5px;z-index:201;position:relative}.nav-logo span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.nav-links a{text-decoration:none;color:var(--grey-500);font-size:.85rem;font-weight:500;letter-spacing:.3px;transition:color .2s}.nav-links a:hover{color:var(--secondary)}.nav-cta{background:var(--secondary)!important;color:var(--dominant)!important;padding:.5rem 1.2rem;border-radius:6px;font-size:.85rem!important;transition:background .2s!important}.nav-cta:hover{background:var(--accent)!important;color:#fff!important}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:0 0;border:0;padding:4px;z-index:201;position:relative;width:28px;height:20px}.hamburger span{display:block;width:22px;height:2px;background:var(--secondary);transition:all .3s ease;transform-origin:center}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-overlay{position:fixed;inset:0;background:rgba(26,29,32,.3);z-index:199;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-overlay.active{opacity:1;visibility:visible}.mobile-menu,body.menu-open{position:fixed;right:0;overflow:hidden}.mobile-menu,.mobile-menu-inner{display:flex;flex-direction:column}.mobile-menu{top:0;width:300px;max-width:85vw;height:100vh;height:100dvh;background:var(--dominant);z-index:200;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);border-left:1px solid var(--grey-200)}.mobile-menu.active{transform:translateX(0)}.mobile-menu::after{content:"";position:absolute;left:60px;right:0;bottom:0;aspect-ratio:455/615;background-image:url(assets/maurizio-halftone.png);background-size:100% 100%;background-position:left top;background-repeat:no-repeat;pointer-events:none;width:250px}@media (max-height:660px){.mobile-menu::after{display:none}}.mobile-menu-inner{padding:2rem;flex:1;position:relative;z-index:1;min-height:0;overflow-y:auto}.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:0}.mobile-menu-links li{border-bottom:1px solid var(--grey-200)}.mobile-menu-links a{display:block;padding:1.1rem 0;text-decoration:none;color:var(--secondary);font-size:1rem;font-weight:500;letter-spacing:-.2px;transition:color .2s}.hero-text h1 .accent,.mobile-menu-links a:hover{color:var(--accent)}.mobile-menu-cta{margin-top:auto;padding-top:2rem}.mobile-menu-cta .btn{width:100%;justify-content:center}body.menu-open{left:0;width:100%}section{padding:7rem 2rem}.container{max-width:1120px;margin:0 auto}.mono{font-family:"JetBrains Mono",monospace;font-size:.75rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;display:block}.heading{font-size:2.75rem;font-weight:700;letter-spacing:-1.5px;line-height:1.1;color:var(--secondary);margin-bottom:1rem}.subtext{font-size:1.05rem;font-weight:300;color:var(--grey-500);line-height:1.7;max-width:520px}#hero,.btn{align-items:center}.btn{display:inline-flex;gap:.5rem;padding:.8rem 1.75rem;border-radius:6px;font-weight:500;font-size:.9rem;text-decoration:none;cursor:pointer;transition:all .2s;border:0;font-family:inherit}.btn-dark{background:var(--secondary);color:var(--dominant)}.btn-dark:hover{background:var(--accent);color:#fff}.btn-ghost{background:0 0;color:var(--secondary);border:1.5px solid var(--grey-300)}.btn-ghost:hover{border-color:var(--secondary)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#c8212d}.arrow{font-size:1.1rem;transition:transform .2s}.btn:hover .arrow{transform:translateX(3px)}#hero{min-height:70vh;display:flex;padding:7rem 2rem 1.7rem;padding-top:140px;background:var(--dominant);position:relative;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-text h1{font-size:4rem;font-weight:700;letter-spacing:-2.5px;line-height:1.05;margin-bottom:1.5rem}.hero-text p,.service-item p{color:var(--grey-500);font-weight:300}.hero-text p{font-size:1.1rem;line-height:1.7;max-width:440px;margin-bottom:2.5rem}.hero-actions{display:flex;gap:1rem}.hero-visual{display:flex;justify-content:flex-end}.hero-portrait-wrap{position:absolute;bottom:-20px;right:max(2rem,calc((105% - 1120px)/2))}.hero-portrait{display:block;width:100%;max-height:660px;height:auto;opacity:0;animation:portraitIn .6s ease .5s both}.hero-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-tag{background:#1a1d20;color:var(--accent);font-family:"JetBrains Mono",monospace;font-size:.86rem;font-weight:500;letter-spacing:.3px;padding:.48rem .9rem;border-radius:6px;white-space:nowrap;border:1px solid var(--accent);pointer-events:none;opacity:0;animation:tagIn 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d)}@media (prefers-reduced-motion:reduce){.hero-portrait,.hero-tag{animation:none;opacity:1}}#services{border-top:1px solid var(--grey-200);border-bottom:1px solid var(--grey-200)}.services-header{margin-bottom:4rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--grey-200);border:1px solid var(--grey-200);border-radius:12px;overflow:hidden}.service-item{background:var(--surface);padding:2.5rem;transition:background .3s}.pricing-card:hover,.service-item:hover{background:var(--dominant)}.service-num{font-family:"JetBrains Mono",monospace;font-size:.7rem;color:var(--accent);margin-bottom:1.5rem;display:block}.pricing-card h3,.service-item h3{font-size:1.15rem;font-weight:600;letter-spacing:-.3px;margin-bottom:.75rem}.service-item p{font-size:.9rem;line-height:1.6}#pricing,#services{background:var(--surface-alt)}.pricing-header{margin-bottom:4rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--grey-200);border:1px solid var(--grey-200);border-radius:12px;overflow:hidden}.pricing-card{background:var(--surface);padding:2.5rem;display:flex;flex-direction:column;transition:background .3s}.pricing-price{font-size:2rem;font-weight:700;letter-spacing:-1px;color:var(--secondary);margin-bottom:1.75rem}.pricing-from{font-family:"JetBrains Mono",monospace;font-size:.7rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--grey-500);margin-right:.5rem;vertical-align:middle}.pricing-desc,.pricing-period{font-size:.9rem;font-weight:400;color:var(--grey-500)}.pricing-desc{font-size:1.05rem;font-weight:300;line-height:1.7;margin-bottom:1.75rem}.pricing-card:has(.pricing-desc) .pricing-list{margin-top:0}.pricing-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.pricing-list li{position:relative;padding-left:1.5rem;font-size:.9rem;font-weight:300;line-height:1.5;color:var(--grey-500)}.pricing-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.pricing-flex{margin-top:2.5rem;text-align:center;font-size:.9rem;font-weight:300;line-height:1.6;color:var(--grey-400)}.pricing-flex a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.pricing-flex a:hover{border-bottom-color:var(--accent)}.pricing-compare{margin-top:3rem}.compare-heading{font-size:1.15rem;font-weight:600;letter-spacing:-.3px;color:var(--secondary);margin-bottom:.75rem}.compare-intro{font-size:.9rem;font-weight:300;line-height:1.7;color:var(--grey-500);margin-bottom:1.75rem;max-width:680px}.compare-table{background:var(--surface);border:1px solid var(--grey-200);border-radius:12px;overflow:hidden}.compare-row{display:grid;grid-template-columns:1fr 1.1fr 1.5fr;align-items:center;gap:1.5rem;padding:1rem 1.5rem;border-top:1px solid var(--grey-200)}.compare-row:first-child{border-top:none}.compare-label{font-size:.9rem;font-weight:600;letter-spacing:-.2px;color:var(--secondary)}.compare-price{font-family:"JetBrains Mono",monospace;font-size:.85rem;font-weight:500;line-height:1.45;color:var(--grey-500)}.compare-desc{font-size:.82rem;font-weight:300;line-height:1.5;color:var(--grey-500)}.compare-row--highlight{background:rgba(223,41,53,.07);box-shadow:inset 3px 0 0 var(--accent)}#companies .mono,.compare-row--highlight .compare-label{color:var(--accent)}.compare-row--highlight .compare-price{color:var(--accent);font-weight:600}.compare-note{margin-top:1rem;max-width:720px;font-size:.8rem;font-weight:300;line-height:1.6;color:var(--grey-500)}@media (max-width:640px){.compare-row{grid-template-columns:1fr;gap:.35rem;padding:1rem 1.25rem}.compare-desc{grid-column:auto}}#companies{background:var(--secondary-alt);padding:3rem 0;overflow:hidden}.companies-inner{max-width:1120px;margin:0 auto}.ticker-wrap{width:100%;overflow:hidden;position:relative}.ticker-wrap::after,.ticker-wrap::before{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.ticker-wrap::before{left:0;background:linear-gradient(to right,var(--secondary-alt),transparent)}.ticker-wrap::after{right:0;background:linear-gradient(to left,var(--secondary-alt),transparent)}.ticker{display:flex;width:max-content;animation:ticker-scroll 25s linear infinite}.ticker:hover{animation-play-state:paused}.ticker-item{flex-shrink:0;padding:0 3rem;font-size:1rem;font-weight:500;color:var(--grey-400);white-space:nowrap;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;transition:color .2s;text-decoration:none}.ticker-item svg{width:18px;height:18px;stroke-width:1.5;flex-shrink:0}#about .mono,.ticker-item:hover{color:var(--accent)}#work{background:var(--surface-deep);border-bottom:1px solid var(--grey-200)}.work-header{margin-bottom:4rem}.work-list{display:flex;flex-direction:column;gap:5.5rem}.work-card{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.work-card:nth-child(even) .work-card-visual{order:2}.work-card-visual{position:relative}.work-card-main{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--grey-300)}.work-card-tag{font-family:"JetBrains Mono",monospace;font-size:.7rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1rem}.work-card-title{font-size:1.75rem;font-weight:700;letter-spacing:-.8px;line-height:1.15;margin-bottom:.85rem}.about-text p,.work-card-line{font-size:.95rem;font-weight:300;line-height:1.7;color:var(--grey-500);margin-bottom:1.75rem}.work-card-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:500;color:var(--secondary);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:3px;transition:color .2s,gap .2s}.work-card-link:hover{color:var(--accent);gap:.75rem}.work-card-link:hover .arrow{transform:translateX(3px)}#about{background:var(--secondary);overflow-x:clip}#about,.about-heading,.about-text p strong{color:var(--dominant)}[data-theme=dark] #about{background:var(--surface-alt);color:var(--secondary)}[data-theme=dark] .about-heading,[data-theme=dark] .about-text p strong,[data-theme=dark] .case-cta h2{color:var(--secondary)}.metric span,[data-theme=dark] .about-text p{color:var(--grey-500)}.about-layout,.about-metrics{display:grid;grid-template-columns:1fr 1fr}.about-layout{gap:6rem;align-items:start}.about-text p{font-size:1.05rem;line-height:1.8;color:var(--grey-400);margin-bottom:1.5rem}.about-text p strong{font-weight:500}.about-metrics{gap:2rem;margin-top:1rem}.metric{border-left:2px solid var(--accent);padding-left:1.25rem}.metric p{font-size:2.25rem;font-weight:700;letter-spacing:-1px;margin-bottom:.25rem}.metric span{font-size:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:1px}.about-cta{margin-top:3rem}.about-cta .btn-accent:hover{background:var(--surface);color:var(--secondary)}#faq{background:var(--surface)}.faq-header{margin-bottom:4rem}.faq-list{max-width:760px}.faq-item{border-bottom:1px solid var(--grey-200)}.faq-item:first-child{border-top:1px solid var(--grey-200)}.faq-question{margin:0;font-size:1.05rem;font-weight:500;letter-spacing:-.2px}.faq-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;background:0 0;border:0;font:inherit;font-weight:500;color:var(--secondary);text-align:left;cursor:pointer;transition:color .2s}.faq-trigger:hover{color:var(--accent)}.faq-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.faq-icon{position:relative;flex-shrink:0;width:14px;height:14px}.faq-icon::after,.faq-icon::before{content:"";position:absolute;background:var(--accent);transition:transform .3s ease}.faq-icon::before{top:50%;left:0;right:0;height:2px;transform:translateY(-50%)}.faq-icon::after{left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%)}.faq-item.is-open .faq-icon::after{transform:translateX(-50%) scaleY(0)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.contact-left p,.faq-answer p{font-size:1rem;font-weight:300;color:var(--grey-500)}.faq-answer p{line-height:1.8;max-width:68ch;padding-bottom:1.5rem}@media (prefers-reduced-motion:reduce){.faq-answer,.faq-icon::after,.faq-icon::before{transition:none}}#contact{background:var(--surface);border-top:1px solid var(--grey-200)}[data-theme=dark] #contact{background:var(--surface-alt)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.contact-left .heading{margin-bottom:1.5rem}.contact-left p{line-height:1.7;margin-bottom:2.5rem}.contact-link{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;text-decoration:none;color:var(--secondary);transition:color .2s}.contact-link-icon,.contact-link:hover{color:var(--accent)}.contact-link-icon{width:40px;height:40px;border-radius:8px;background:var(--dominant);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.contact-link span{font-size:.95rem;font-weight:400}.contact-address{font-style:normal}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-field label{display:block;font-size:.8rem;font-weight:500;color:var(--grey-500);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.form-field input,.form-field textarea{width:100%;padding:.85rem 1rem;background:var(--dominant);border:1.5px solid var(--grey-200);border-radius:6px;font-family:inherit;font-size:.95rem;color:var(--secondary);outline:0;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:130px}.form-submit{align-self:flex-start;padding:.9rem 2.5rem}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-status{font-size:.85rem;font-weight:500;padding:0;border-radius:6px;min-height:0;transition:all .3s ease}.form-status--success{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-border);padding:.75rem 1rem}.form-status--error{color:var(--accent);background:var(--error-bg);border:1px solid var(--error-border);padding:.75rem 1rem}#case-visuals,.case-hero{border-bottom:1px solid var(--grey-200)}.case-hero{background:var(--surface);padding-top:6.4rem;padding-bottom:2.5rem}.case-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.case-hero-aside{display:flex;flex-direction:column;gap:2rem}.case-back{display:flex;width:fit-content;align-items:center;gap:.5rem;font-family:"JetBrains Mono",monospace;font-size:.75rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey-500);text-decoration:none;margin-bottom:1rem;transition:color .2s}.case-back:hover,a.case-status{color:var(--accent)}.case-cta h2,.case-title{font-size:2rem;font-weight:700;letter-spacing:-1px;line-height:1.1;color:var(--secondary);margin-bottom:1rem}.case-summary{font-size:1.1rem;font-weight:300;color:var(--grey-500);line-height:1.7;max-width:620px;margin-bottom:1.5rem}.case-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.case-service-tag,.case-status{font-family:"JetBrains Mono",monospace;font-size:.75rem;font-weight:500;letter-spacing:.3px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:.4rem .8rem}.case-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--grey-500);border:1px dashed var(--grey-300);margin-bottom:1.5rem}.case-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grey-400);flex-shrink:0}a.case-status{border-style:solid;border-color:var(--accent);text-decoration:none;transition:background .2s}a.case-status::before{background:var(--accent)}a.case-status:hover{background:rgba(223,41,53,.08)}.case-body,.case-cta p{font-size:1rem;font-weight:300}.case-body{line-height:1.8;color:var(--grey-500);max-width:680px}.case-body p+p{margin-top:1.25rem}.case-section{padding:5rem 2rem}#case-visuals{padding-top:2rem}#case-visuals .heading{font-size:1.4rem;letter-spacing:-.3px;margin-bottom:1.25rem}.case-shots{display:flex;flex-direction:column;gap:4.5rem}.case-shot{max-width:760px;margin:0 auto;width:100%}.case-did-tags li,.case-shot-label{font-family:"JetBrains Mono",monospace;font-weight:500}.case-shot-label{display:flex;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem}.case-shot-label::after{content:"";flex:1;height:1px;background:var(--grey-200)}.case-shot-img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--grey-200)}.case-directions{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.case-direction-note{font-size:.875rem;font-weight:300;line-height:1.65;color:var(--grey-500);margin-top:1.1rem}.case-did-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.case-did-tags li{font-size:.7rem;letter-spacing:.3px;border:1px solid var(--accent);border-radius:6px;padding:.35rem .7rem}.case-cta{background:var(--secondary);color:var(--dominant);border-radius:12px;padding:4rem 2.5rem;text-align:center}.case-cta .btn-accent:hover,[data-theme=dark] .case-cta{background:var(--surface);color:var(--secondary)}.case-cta .mono,.case-did-tags li,.footer-links a:hover,.footer-logo span{color:var(--accent)}.case-cta h2{line-height:1.15;color:var(--dominant)}.case-cta p{line-height:1.7;max-width:480px;margin:0 auto 2.25rem}[data-theme=dark] .case-cta .btn-accent:hover,footer{background:var(--secondary);color:var(--surface)}#case-nav,#case-visuals{background:var(--surface);border-top:1px solid var(--grey-200)}.case-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--grey-200);border:1px solid var(--grey-200);border-radius:12px;overflow:hidden}.case-nav-link{background:var(--surface);padding:2rem 2.25rem;text-decoration:none;color:inherit;transition:background .25s}.case-nav-link:hover{background:var(--dominant)}.case-nav-link--next{text-align:right}.case-nav-dir{font-family:"JetBrains Mono",monospace;font-size:.7rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.6rem}.case-nav-name{font-size:1.15rem;font-weight:600;letter-spacing:-.4px;color:var(--secondary)}.case-cta p,footer{color:var(--grey-400)}footer{padding:3rem 2rem}.footer-inner,.footer-left{display:flex;align-items:center}.footer-inner{max-width:1120px;margin:0 auto;justify-content:space-between}.footer-left{gap:2rem}.footer-logo{font-weight:700;font-size:1rem;color:var(--dominant);text-decoration:none}.footer-copy,.footer-links a{font-size:.8rem;color:var(--grey-500)}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{text-decoration:none;font-size:.85rem;transition:color .2s}.reveal,.reveal-right{opacity:0;transition:opacity .6s ease,transform .6s ease}.reveal{transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-right{transform:translateX(60px)}.reveal-right.visible{opacity:1;transform:translateX(0)}.theme-toggle{position:fixed;bottom:2rem;right:2rem;z-index:198;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--grey-300);background:var(--surface);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 2px 12px rgba(0,0,0,.1);transition:all .3s ease;padding:0;line-height:1}.theme-toggle:hover{border-color:var(--accent);box-shadow:0 2px 20px rgba(0,0,0,.15);transform:scale(1.08)}.theme-toggle .icon-moon,.theme-toggle .icon-sun{position:absolute;transition:opacity .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle svg{width:20px;height:20px;stroke-width:1.5}.theme-toggle .icon-sun{opacity:0;transform:rotate(-90deg) scale(.5)}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{opacity:1;transform:rotate(0deg) scale(1)}[data-theme=dark] .theme-toggle .icon-moon{opacity:0;transform:rotate(90deg) scale(.5)}@media (max-width:960px){.about-layout,.contact-layout,.hero-layout{grid-template-columns:1fr;gap:3rem}.hero-visual{display:none}.hero-text h1{font-size:3rem}.pricing-grid,.services-grid,.work-card{grid-template-columns:1fr}.work-card{gap:2rem}.work-card:nth-child(even) .work-card-visual{order:0}.work-list{gap:4rem}.case-directions,.case-hero-grid{grid-template-columns:1fr;gap:3.5rem}.case-hero-grid{gap:2.5rem}}@media (max-width:640px){.nav-links{display:none}.hamburger{display:flex}section{padding:5rem 1.25rem}.hero-text h1{font-size:2.25rem;letter-spacing:-1.5px}.heading{font-size:2rem}.work-card-title{font-size:1.5rem}.case-hero{padding-top:4.5rem;padding-bottom:2rem}.case-section{padding:4rem 1.25rem}.case-title{font-size:1.65rem;letter-spacing:-.5px}.case-cta{padding:3rem 1.5rem}.case-cta h2{font-size:1.6rem}.case-nav-grid{grid-template-columns:1fr}.case-nav-link--next{text-align:left}.about-metrics,.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:1.5rem;text-align:center}.footer-left{flex-direction:column;gap:.5rem}}