@font-face{font-family:Inter;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");font-style:normal;font-weight:300 500;font-display:swap}@font-face{font-family:Outfit;src:url(/assets/outfit-latin-Bc-8i84L.woff2) format("woff2");font-style:normal;font-weight:300 500;font-display:swap}:root{--bg-primary: #ffffff;--bg-secondary: #f7f7f5;--bg-tertiary: #eeeeea;--text-primary: #11110f;--text-secondary: #686861;--accent: #ff5a36;--accent-ink: #c84224;--accent-light: #ff9a80;--accent-dim: rgba(255, 90, 54, .14);--accent-glow: rgba(255, 90, 54, .28);--gradient-accent: linear-gradient(105deg, #ff5a36 0%, #ff9a80 100%);--gradient-dark: linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%);--gradient-hero: radial-gradient(ellipse at 70% 30%, rgba(255, 90, 54, .12) 0%, transparent 58%);--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--font-accent: "Outfit", sans-serif;--letter-spacing-wide: .2em;--letter-spacing-tight: .05em;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--glass-bg: rgba(17, 17, 15, .025);--glass-border: rgba(17, 17, 15, .12);--glass-blur: 20px;--transition-slow: .6s cubic-bezier(.16, 1, .3, 1);--transition-medium: .4s cubic-bezier(.16, 1, .3, 1);--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--section-padding: clamp(5rem, 10vh, 10rem)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}body{font-family:var(--font-body);font-weight:var(--font-weight-light);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}::selection{color:var(--bg-primary);background:var(--accent)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.025;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;font-weight:500}a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-medium)}a:hover{color:var(--accent)}button{font-family:var(--font-body);font-weight:var(--font-weight-light);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.section{padding:var(--section-padding) 0}.text-center{text-align:center}.accent-text{color:var(--accent)}.gradient-text{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-style:italic}.glow-dot{width:6px;height:6px;border-radius:0;background:var(--accent);box-shadow:none;transform:rotate(45deg);display:inline-block}.scroll-meter{position:fixed;z-index:900;right:1.25rem;top:50%;display:grid;grid-template-rows:auto 112px auto;justify-items:center;gap:.7rem;transform:translateY(-50%);mix-blend-mode:difference;pointer-events:none}.scroll-meter-label,.scroll-meter-count{color:#fff;font-family:var(--font-accent);font-size:.55rem;letter-spacing:.15em;writing-mode:vertical-rl;text-transform:uppercase}.scroll-meter-track{width:1px;height:112px;background:#ffffff40;overflow:hidden}.scroll-meter-fill{width:100%;height:100%;background:#fff;transform:scaleY(0);transform-origin:top;will-change:transform}.section-divider{width:60px;height:1px;background:var(--gradient-accent);margin:0 auto;opacity:.5}@media(max-width:768px){.section{padding:5rem 0}.container{padding:0 1.5rem}.scroll-meter{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes heroLetterIn{0%{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes clipReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 8px #ff5a3633}50%{box-shadow:0 0 20px #ff5a3666,0 0 40px #ff5a361a}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes lineReveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lineGrow{0%{width:0}to{width:60px}}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes counterPop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes subtleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{opacity:0;animation:fadeIn var(--transition-slow) forwards}.slide-up{opacity:0;animation:slideUp var(--transition-slow) forwards}.clip-reveal{clip-path:inset(0 100% 0 0);animation:clipReveal .8s cubic-bezier(.16,1,.3,1) forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.delay-10{animation-delay:1s}.delay-12{animation-delay:1.2s}.animate-on-scroll{opacity:0;transform:translateY(25px);clip-path:inset(0 0 12% 0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),clip-path .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-order, 0) * 70ms)}.animate-on-scroll.visible{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}.animate-on-scroll.reveal-left{transform:translate(-42px,18px) rotate(-1.2deg)}.animate-on-scroll.reveal-right{transform:translate(42px,18px) rotate(1.2deg)}.animate-on-scroll.reveal-left.visible,.animate-on-scroll.reveal-right.visible{transform:translate(0) rotate(0)}.animate-on-scroll.from-left{transform:translate(-30px)}.animate-on-scroll.from-left.visible{transform:translate(0)}.animate-on-scroll.scale-in{transform:scale(.95)}.animate-on-scroll.scale-in.visible{transform:scale(1)}.letter-animate span{display:inline-block;opacity:0;animation:heroLetterIn .7s cubic-bezier(.16,1,.3,1) forwards}.line-reveal{transform:scaleX(0);transform-origin:left;animation:lineReveal .8s cubic-bezier(.16,1,.3,1) forwards}.glow{animation:glowPulse 3s ease-in-out infinite}.float{animation:float 4s ease-in-out infinite}.shimmer-text{background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 50%,var(--accent) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}@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}.animate-on-scroll{opacity:1;transform:none;clip-path:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;background:transparent;transition:background var(--transition-medium),padding var(--transition-medium),backdrop-filter var(--transition-medium),border-color var(--transition-medium);border-bottom:1px solid transparent}.nav.scrolled{background:#fffffff0;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:1.25rem 3rem;border-bottom:1px solid var(--glass-border)}.nav-logo{position:relative;z-index:1002;display:block;flex:0 0 auto;width:11rem;height:2.25rem;overflow:hidden}.nav-logo img{position:absolute;top:50%;left:50%;display:block;width:11rem;max-width:none;height:auto;transform:translate(-50%,-50%);transition:transform var(--transition-medium),opacity var(--transition-medium)}.nav-logo:hover img{opacity:.88;transform:translate(-50%,-50%) scale(1.025)}.nav-links{display:flex;gap:2.25rem;list-style:none;margin:0;padding:0}.nav-item{position:relative;display:flex;align-items:center}.submenu-toggle{display:grid;place-items:center;width:1.4rem;height:1.4rem;margin-left:.15rem;color:var(--text-secondary);font-family:var(--font-accent);font-size:.9rem;line-height:1;transition:color var(--transition-fast),transform var(--transition-medium)}.has-submenu:hover .submenu-toggle,.has-submenu:focus-within .submenu-toggle,.has-submenu.submenu-open .submenu-toggle{color:var(--accent);transform:rotate(45deg)}.submenu-panel{position:absolute;top:calc(100% + 1.25rem);left:-1.25rem;width:330px;padding:1.25rem;display:grid;gap:.2rem;background:#fffffffa;border:1px solid var(--glass-border);box-shadow:7px 7px 0 var(--accent);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast),visibility var(--transition-fast),transform var(--transition-medium)}.submenu-panel:before{content:"";position:absolute;left:0;right:0;top:-1.5rem;height:1.5rem}.submenu-panel-right{right:-1.25rem;left:auto}.has-submenu:hover .submenu-panel,.has-submenu:focus-within .submenu-panel,.has-submenu.submenu-open .submenu-panel{opacity:1;visibility:visible;transform:translateY(0)}.submenu-eyebrow{padding:.35rem .65rem .65rem;color:var(--accent-ink);font-family:var(--font-accent);font-size:.55rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.submenu-link{display:grid;gap:.1rem;padding:.7rem .65rem;color:var(--text-primary);border-left:2px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.submenu-link:hover{color:var(--text-primary);background:var(--bg-secondary);border-left-color:var(--accent)}.submenu-link strong{font-family:var(--font-accent);font-size:.74rem;font-weight:500;letter-spacing:.04em}.submenu-link span{color:var(--text-secondary);font-size:.68rem}.nav-contact{color:var(--accent-ink)}.nav-link{font-family:var(--font-accent);font-size:.75rem;font-weight:var(--font-weight-normal);letter-spacing:.15em;text-transform:uppercase;position:relative;display:block;color:var(--text-secondary);transition:color var(--transition-medium)}.nav-link:hover{color:var(--text-primary)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:3px;background:var(--accent);transition:width var(--transition-medium)}.nav-link:hover:after{width:100%}.nav-link.nav-current:after,.nav-link[aria-current=page]:after{width:100%}.nav-toggle{display:none;flex-direction:column;justify-content:space-between;width:28px;height:18px;background:transparent;border:none;cursor:pointer;z-index:1002;padding:0}.nav-toggle span{width:100%;height:1.5px;background-color:var(--text-primary);transition:all var(--transition-medium);border-radius:1px}@media(max-width:768px){.nav{padding:1.5rem 2rem}.nav.scrolled{padding:1.25rem 2rem}.nav-toggle{display:flex}.nav-links{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background-color:var(--bg-primary);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:7rem 2rem 3rem;overflow-y:auto;transform:translateY(-100%);transition:transform var(--transition-slow);z-index:1001}.nav.nav-open .nav-links{transform:translateY(0)}.nav-link{font-size:1.25rem;font-family:var(--font-heading);color:var(--text-primary)}.nav-item{flex-wrap:wrap;width:100%;padding:1rem 0;border-bottom:1px solid var(--glass-border)}.submenu-toggle{width:2.5rem;height:2.5rem;margin-left:auto;font-size:1.25rem}.submenu-panel,.has-submenu:hover .submenu-panel,.has-submenu:focus-within .submenu-panel{position:static;display:none;width:100%;margin-top:.75rem;padding:.75rem;opacity:1;visibility:visible;transform:none;box-shadow:none;background:var(--bg-secondary)}.has-submenu.submenu-open .submenu-panel{display:grid}.nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav.nav-open .nav-toggle span:nth-child(2){opacity:0}.nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.25rem;font-family:var(--font-accent);font-size:.75rem;font-weight:var(--font-weight-normal);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--accent-ink);background:var(--accent-ink);color:var(--bg-primary);cursor:pointer;transition:all var(--transition-medium);position:relative;overflow:hidden;isolation:isolate;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.btn:before{content:"";position:absolute;inset:0;background:var(--text-primary);opacity:0;transition:opacity var(--transition-medium);z-index:-1}.btn:hover{border-color:var(--text-primary);color:var(--bg-primary);box-shadow:7px 7px 0 var(--accent-dim)}.btn:hover:before{opacity:1}.btn-arrow{transition:transform var(--transition-medium);font-size:1rem}.btn:hover .btn-arrow{transform:translate(4px)}.btn-outline{border-color:var(--accent);color:var(--accent-ink);background:transparent}.btn-outline:hover{color:var(--bg-primary)}.btn-ghost{border:none;color:var(--accent-ink);background:transparent;padding:.75rem 0;clip-path:none}.btn-ghost:before{display:none}.btn-ghost:hover{color:var(--accent-light);box-shadow:none}.form-group{margin-bottom:2rem}.form-label{display:block;font-family:var(--font-accent);font-size:.7rem;font-weight:var(--font-weight-normal);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;color:var(--text-secondary);transition:color var(--transition-medium)}.form-group:focus-within .form-label{color:var(--accent-ink)}.form-input,.form-textarea,.form-select{width:100%;padding:1rem 1.25rem;font-family:var(--font-body);font-size:.95rem;font-weight:var(--font-weight-light);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:2px;color:var(--text-primary);transition:border-color var(--transition-medium),box-shadow var(--transition-medium)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-textarea{min-height:150px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ff5a36' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}.form-select option{background:var(--bg-primary);color:var(--text-primary)}.footer{padding:5rem 3rem 3rem;border-top:1px solid var(--glass-border);background:var(--bg-primary)}.footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--glass-border);margin-bottom:2rem}.footer-brand{display:flex;flex-direction:column;gap:1rem}.footer-logo{position:relative;display:block;width:13.25rem;height:3rem;overflow:hidden}.footer-logo img{position:absolute;top:50%;left:50%;display:block;width:13.25rem;max-width:none;height:auto;transform:translate(-50%,-50%)}.footer-tagline{font-size:.85rem;color:var(--text-secondary);line-height:1.6;max-width:300px}.footer-col-title{font-family:var(--font-accent);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:1.25rem;font-weight:var(--font-weight-medium)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer-links a{font-size:.85rem;color:var(--text-secondary);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--text-primary)}.footer-location{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.footer-location-name{color:var(--text-primary);font-weight:var(--font-weight-normal);display:block;margin-bottom:.25rem}.footer-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.footer-copyright{font-size:.7rem;letter-spacing:.1em;color:var(--text-secondary)}.footer-bottom-links{display:flex;gap:2rem}.footer-bottom-links a{font-size:.7rem;letter-spacing:.1em;color:var(--text-secondary)}@media(max-width:768px){.footer{padding:3rem 1.5rem 2rem}.footer-inner{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}.glass-card{background:var(--bg-secondary);border:1px solid rgba(17,17,15,.14);transition:border-color var(--transition-medium),box-shadow var(--transition-medium),transform var(--transition-medium)}.glass-card:hover{border-color:var(--accent);box-shadow:8px 8px 0 var(--accent);transform:translate(-4px,-4px)}.section-label{font-family:var(--font-accent);font-size:.65rem;font-weight:var(--font-weight-medium);letter-spacing:.25em;text-transform:uppercase;color:var(--accent-ink);display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.section-label:before{content:"";width:8px;height:8px;background:var(--accent)}.tag{display:inline-block;font-family:var(--font-accent);font-size:.6rem;font-weight:var(--font-weight-medium);letter-spacing:.2em;text-transform:uppercase;padding:.4rem 1rem;border:1px solid var(--accent);color:var(--accent-ink);border-radius:0;background:#ffffffdb}.tag-filled{background:var(--accent);color:var(--bg-primary)}body :is(.about-hero,.services-hero,.case-files-hero,.contact-hero,.case-study-hero){position:relative;justify-content:flex-start;min-height:62vh;padding:10rem clamp(2rem,7vw,7rem) 4rem;overflow:hidden;border-bottom:1px solid var(--glass-border);background-image:linear-gradient(rgba(255,90,54,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,90,54,.055) 1px,transparent 1px);background-size:80px 80px}body :is(.about-hero,.services-hero,.case-files-hero,.contact-hero,.case-study-hero):after{content:"///";position:absolute;right:clamp(2rem,7vw,7rem);bottom:2rem;color:var(--accent);font-family:var(--font-accent);font-size:clamp(4rem,10vw,9rem);font-weight:500;letter-spacing:-.18em;line-height:1;opacity:.8}body :is(.about-hero-content,.services-hero-content,.case-files-hero-content,.contact-hero-content,.case-study-hero-content){width:min(100%,1200px);margin:auto 0;padding:0;text-align:left;position:relative;z-index:1}body :is(.about-title,.services-title,.case-files-title,.contact-title,.case-study-title){max-width:1000px;font-size:clamp(3rem,8vw,8rem);line-height:.94;letter-spacing:-.035em}body .philosophy{position:relative;align-items:flex-start;text-align:left;padding-inline:clamp(2rem,7vw,7rem);background:linear-gradient(90deg,var(--accent) 0 10px,transparent 10px)}body .philosophy-content{max-width:1000px}body .philosophy-divider{margin-left:0;width:120px}body .philosophy-line{font-size:clamp(2rem,5vw,5rem);line-height:1.12}.seo-related{padding:clamp(4rem,8vw,7rem) clamp(2rem,7vw,7rem);border-top:1px solid var(--glass-border);background:var(--bg-secondary)}.seo-related-inner{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(3rem,8vw,8rem);width:min(100%,1400px);margin:0 auto}.seo-related-kicker{margin-bottom:1rem;color:var(--accent-ink);font-family:var(--font-accent);font-size:.65rem;font-weight:var(--font-weight-medium);letter-spacing:.22em;text-transform:uppercase}.seo-related h2{max-width:430px;font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.035em}.seo-related-links{border-bottom:1px solid var(--glass-border)}.seo-related-link{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:5.5rem;padding:1rem 0;border-top:1px solid var(--glass-border);color:var(--text-primary);transition:color .2s ease,padding .2s ease}.seo-related-number,.seo-related-arrow{color:var(--accent-ink);font-family:var(--font-accent);font-size:.7rem;letter-spacing:.08em}.seo-related-title{font-family:var(--font-heading);font-size:clamp(1.15rem,2vw,1.65rem);font-weight:var(--font-weight-medium)}.seo-related-link:hover,.seo-related-link:focus-visible{padding-left:.75rem;color:var(--accent-ink)}.seo-related-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:768px){body :is(.about-hero,.services-hero,.case-files-hero,.contact-hero,.case-study-hero){min-height:55vh;padding:8rem 1.5rem 3rem}body :is(.about-hero,.services-hero,.case-files-hero,.contact-hero,.case-study-hero):after{right:1.5rem;font-size:4rem}.seo-related{padding:4rem 1.5rem}.seo-related-inner{grid-template-columns:1fr;gap:2.5rem}.seo-related-link{grid-template-columns:2rem minmax(0,1fr) auto;min-height:4.75rem}}
