.branch-page{background:hsl(var(--background));min-height:100%}.branch-hero{position:relative;min-height:55vh;min-height:55svh;display:flex;align-items:flex-end;overflow:hidden;padding-top:6rem}.branch-hero--studio{background:hsl(var(--background))}.branch-hero--productions{background:linear-gradient(to bottom right,hsl(var(--background)),hsl(var(--card)),#00000080)}.branch-hero__glow{position:absolute;top:0;background:hsl(var(--primary) / .08);border-radius:var(--radius-full);filter:blur(150px);pointer-events:none}.branch-hero--studio .branch-hero__glow{right:-5%;width:500px;height:500px}.branch-hero--productions .branch-hero__glow{right:0;width:600px;height:600px}.branch-hero__glow-b{position:absolute;bottom:0;left:0;width:400px;height:400px;background:hsl(var(--accent) / .08);border-radius:var(--radius-full);filter:blur(100px);pointer-events:none}.branch-hero__dots{position:absolute;inset:0;opacity:.025;pointer-events:none;background-image:radial-gradient(circle,hsl(var(--foreground)) 1.5px,transparent 1.5px);background-size:32px 32px}.branch-hero__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding:0 var(--container-pad) 3rem;position:relative;z-index:10;animation:branch-fade-up .7s var(--ease-out) both}.branch-hero__eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.branch-hero__rule{width:2rem;height:1px;background:hsl(var(--primary))}.branch-hero__eyebrow-text{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:hsl(var(--primary))}.branch-hero__title{margin:0;font-size:1.875rem;font-weight:var(--font-black);line-height:.95;letter-spacing:var(--tracking-tight);color:hsl(var(--foreground))}.branch-hero__tagline{margin:1.5rem 0 0;max-width:42rem;font-size:var(--text-base);line-height:var(--leading-relaxed);color:hsl(var(--muted-foreground))}.branch-hero__actions{display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem}.branch-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:-moz-fit-content;width:fit-content;min-height:2.75rem;padding:.625rem 2rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.branch-btn svg{width:1rem;height:1rem;transition:transform var(--duration-normal) var(--ease-standard)}.branch-btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.branch-btn--primary:hover{background:hsl(var(--primary) / .9);transform:scale(1.05)}.branch-btn--primary:hover svg{transform:translate(.25rem)}.branch-btn--outline{border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.branch-btn--outline:hover{background:hsl(var(--card));transform:scale(1.05)}@media(min-width:640px){.branch-hero__inner{padding-bottom:4rem}.branch-hero__title{font-size:2.25rem}.branch-hero__tagline{font-size:var(--text-lg)}.branch-hero__actions{flex-direction:row}}@media(min-width:768px){.branch-hero__title{font-size:3.75rem}.branch-hero__tagline{font-size:var(--text-xl)}}.branch-section{padding:3rem 0}.branch-section__head{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.branch-section__eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.branch-section__title{margin:0;font-size:1.875rem;font-weight:var(--font-black);line-height:var(--leading-tight);color:hsl(var(--foreground))}.branch-section__link{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);font-weight:var(--font-bold);color:hsl(var(--foreground));transition:color var(--duration-fast) var(--ease-standard);flex-shrink:0}.branch-section__link:hover{color:hsl(var(--primary))}.branch-section__link svg{width:1rem;height:1rem;transition:transform var(--duration-normal) var(--ease-standard)}.branch-section__link:hover svg{transform:translate(.375rem)}.branch-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.branch-section{padding:4rem 0}.branch-section__head{margin-bottom:3rem}.branch-section__title{font-size:2.25rem}}@media(min-width:768px){.branch-section__head{flex-direction:row}.branch-section__title{font-size:3rem}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.branch-section{padding:6rem 0}.branch-section__head{margin-bottom:4rem}.branch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.branch-services{background:hsl(var(--background))}.service-card{background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:1rem;padding:1.25rem;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard)}.service-card:hover{transform:translateY(-.25rem);border-color:hsl(var(--primary) / .3)}.service-card__glow{position:absolute;top:0;right:0;width:6rem;height:6rem;background:hsl(var(--primary) / .05);border-bottom-left-radius:9999px;transform:translate(3rem,-3rem);transition:background-color var(--duration-slow) var(--ease-standard);pointer-events:none}.service-card:hover .service-card__glow{background:hsl(var(--primary) / .1)}.service-card__body{position:relative;z-index:1}.service-card__index{display:inline-flex;margin-bottom:1rem;padding:.15rem .65rem;border-radius:var(--radius-full);background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold)}.service-card__title{margin:0 0 .75rem;font-size:var(--text-xl);font-weight:var(--font-bold);color:hsl(var(--foreground))}.service-card__desc{margin:0 0 1.5rem;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:hsl(var(--muted-foreground))}.service-card__caps{padding-top:1rem;border-top:1px solid hsl(var(--border) / .5)}.service-card__caps-label{margin:0 0 .5rem;font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:hsl(var(--muted-foreground) / .6)}.service-card__caps-list{display:flex;flex-wrap:wrap;gap:.375rem}.service-card__cap{font-size:10px;color:hsl(var(--muted-foreground) / .8);background:hsl(var(--muted) / .5);padding:.25rem .5rem;border-radius:.25rem}@media(min-width:640px){.service-card{padding:1.5rem}}@media(min-width:768px){.service-card{padding:2rem}}.branch-portfolio--studio{background:hsl(var(--card));border-top:1px solid hsl(var(--border) / .3)}.branch-portfolio--productions{background:linear-gradient(to bottom,hsl(var(--background)),hsl(var(--card)));border-top:1px solid hsl(var(--border) / .3)}.project-card,.video-card{display:flex;flex-direction:column;height:100%;border-radius:1rem;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border) / .4);transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard);color:inherit;text-decoration:none}.project-card:hover,.video-card:hover{transform:translateY(-.25rem);border-color:hsl(var(--primary) / .3);box-shadow:0 20px 60px -20px hsl(var(--primary) / .15)}.project-card__media,.video-card__media{aspect-ratio:16 / 10;position:relative;overflow:hidden;background:hsl(var(--muted))}.video-card__media{aspect-ratio:16 / 9;cursor:pointer}.project-card__media img,.video-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s var(--ease-standard)}.project-card__media img{-o-object-position:top;object-position:top}.project-card:hover .project-card__media img,.video-card:hover .video-card__media img{transform:scale(1.05)}.project-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom right,hsl(var(--card)),hsl(var(--background)),hsl(var(--card)));position:relative}.project-card__placeholder-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));display:inline-flex;align-items:center;justify-content:center}.project-card__placeholder-icon svg{width:1.5rem;height:1.5rem}.project-card__badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.project-card__badge,.video-card__badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;border-radius:var(--radius-full);background:hsl(var(--background) / .8);backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .5);font-size:var(--text-xs);font-weight:var(--font-medium);color:hsl(var(--foreground))}.project-card__arrow{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background:hsl(var(--background) / .8);backdrop-filter:blur(12px);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-normal) var(--ease-standard)}.project-card:hover .project-card__arrow{opacity:1}.project-card__arrow svg,.video-card__play svg{width:1rem;height:1rem}.project-card__body,.video-card__body{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.video-card__body{padding:1.25rem}.project-card__tag{align-self:flex-start;margin-bottom:.75rem;padding:.15rem .65rem;border-radius:var(--radius-full);background:hsl(var(--secondary));font-size:var(--text-xs);font-weight:var(--font-semibold)}.project-card__title,.video-card__title{margin:0 0 .5rem;font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:hsl(var(--foreground));transition:color var(--duration-normal) var(--ease-standard)}.video-card__title{font-size:var(--text-base)}.project-card:hover .project-card__title,.video-card:hover .video-card__title{color:hsl(var(--primary))}.project-card__desc,.video-card__desc{margin:0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.video-card__desc{-webkit-line-clamp:2;margin-bottom:1rem}.project-card__tags,.video-card__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem}.project-card__chip,.video-card__chip{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground) / .8);background:hsl(var(--muted) / .5);padding:.25rem .5rem;border-radius:.25rem}.project-card__cta,.video-card__actions{margin-top:auto;padding-top:1rem}.project-card__cta-label{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--text-xs);font-weight:var(--font-semibold);color:hsl(var(--primary));transition:gap var(--duration-normal) var(--ease-standard)}.project-card:hover .project-card__cta-label{gap:.625rem}.project-card__cta-label svg{width:.875rem;height:.875rem}.video-card__media-shade{position:absolute;inset:0;background:linear-gradient(to top,hsl(var(--background) / .6),transparent);pointer-events:none}.video-card__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-card__play-btn{width:3.5rem;height:3.5rem;border-radius:var(--radius-full);background:hsl(var(--primary) / .9);color:hsl(var(--primary-foreground));display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xl);transition:transform var(--duration-normal) var(--ease-standard),background-color var(--duration-normal) var(--ease-standard)}.video-card:hover .video-card__play-btn{transform:scale(1.1);background:hsl(var(--primary))}.video-card__badge{position:absolute;top:.75rem;left:.75rem}.video-card__actions{display:flex;flex-direction:column;gap:.5rem}.video-card__watch{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:hsl(var(--primary));background:none;border:0;cursor:pointer;padding:0;transition:gap var(--duration-normal) var(--ease-standard)}.video-card__watch:hover{gap:.625rem}.video-card__watch svg{width:.875rem;height:.875rem}.video-card__contact{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-size:var(--text-xs);font-weight:var(--font-medium);color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease-standard)}.video-card__contact:hover{color:hsl(var(--foreground))}.video-dialog{border:1px solid hsl(var(--border) / .5);border-radius:.75rem;padding:0;max-width:min(48rem,calc(100vw - 2rem));width:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.video-dialog::backdrop{background:hsl(var(--background) / .8)}.video-dialog__frame{aspect-ratio:16 / 9;width:100%;background:#000}.video-dialog__frame iframe{width:100%;height:100%;border:0}.video-dialog__meta{padding:1.25rem}.video-dialog__close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background:hsl(var(--background) / .85);display:inline-flex;align-items:center;justify-content:center;z-index:2}.video-dialog{position:relative}.project-card__opener{display:flex;flex-direction:column;flex:1;height:100%;cursor:pointer;outline:none}.project-card__opener:focus-visible{box-shadow:inset 0 0 0 2px hsl(var(--primary))}.project-dialog{position:relative;border:1px solid hsl(var(--border) / .5);border-radius:.75rem;padding:0;max-width:min(42rem,calc(100vw - 2rem));max-height:min(85vh,100%);width:100%;overflow-y:auto;background:hsl(var(--background));color:hsl(var(--foreground))}.project-dialog::backdrop{background:hsl(var(--background) / .8)}.project-dialog__close{position:sticky;top:.75rem;float:right;margin:.75rem .75rem 0 0;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background:hsl(var(--background) / .85);display:inline-flex;align-items:center;justify-content:center;z-index:2}.project-dialog__close svg{width:1rem;height:1rem}.project-dialog__inner{padding:1.5rem 1.5rem 1.75rem;clear:both}.project-dialog__badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.project-dialog__status{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:var(--radius-full);background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-size:var(--text-xs);font-weight:var(--font-medium)}.project-dialog__private{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .65rem;border-radius:var(--radius-full);background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-medium)}.project-dialog__private svg{width:.75rem;height:.75rem}.project-dialog__title{margin:0;font-size:1.5rem;font-weight:var(--font-black);letter-spacing:var(--tracking-tight);color:hsl(var(--foreground))}.project-dialog__client{margin:.35rem 0 0;font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.project-dialog__client-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest)}.project-dialog__tags{margin-top:.75rem}.project-dialog__sections{display:flex;flex-direction:column;gap:1.25rem;padding-top:.75rem}.project-dialog__section-label{margin:0 0 .5rem;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:hsl(var(--primary))}.project-dialog__text{margin:0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:hsl(var(--muted-foreground))}.project-dialog__emphasis{margin:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:hsl(var(--foreground))}.project-dialog__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.project-dialog__list li{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:hsl(var(--muted-foreground))}.project-dialog__list svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.15rem;color:hsl(var(--primary))}.project-dialog__modules{display:flex;flex-wrap:wrap;gap:.5rem}.project-dialog__module{font-size:var(--text-xs);font-weight:var(--font-medium);color:hsl(var(--foreground));background:hsl(var(--card));border:1px solid hsl(var(--border) / .4);padding:.35rem .75rem;border-radius:var(--radius-full)}.project-dialog__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.project-dialog__grid{grid-template-columns:1fr 1fr}}.project-dialog__screenshots{aspect-ratio:16 / 8;border-radius:.75rem;border:1px dashed hsl(var(--border) / .5);display:flex;align-items:center;justify-content:center;background:hsl(var(--card) / .5)}.project-dialog__screenshots p{margin:0;font-size:var(--text-xs);color:hsl(var(--muted-foreground) / .6)}.project-dialog__visit{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:hsl(var(--primary));transition:gap var(--duration-normal) var(--ease-standard)}.project-dialog__visit:hover{gap:.6rem}.project-dialog__visit svg{width:1rem;height:1rem}.branch-cta--studio{background:hsl(var(--primary))}.branch-cta--productions{background:linear-gradient(to bottom right,hsl(var(--primary)),hsl(var(--accent)))}.branch-cta{padding:3rem 0;position:relative;overflow:hidden}.branch-cta__inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem;position:relative;z-index:10}.branch-cta__eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.branch-cta__rule{width:2rem;height:1px;background:hsl(var(--primary-foreground) / .3)}.branch-cta__eyebrow-text{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:hsl(var(--primary-foreground) / .8)}.branch-cta__heading{margin:0;font-size:1.875rem;font-weight:var(--font-black);line-height:var(--leading-tight);color:hsl(var(--primary-foreground))}.branch-cta__copy{display:flex;flex-direction:column;gap:1rem}.branch-cta__body{margin:0;max-width:20rem;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:hsl(var(--primary-foreground) / .8)}.branch-cta__button{display:inline-flex;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;min-height:2.5rem;padding:.5rem 2rem;border-radius:var(--radius-full);background:hsl(var(--foreground));color:hsl(var(--background));font-size:var(--text-sm);font-weight:var(--font-bold);transition:background-color var(--duration-normal) var(--ease-standard)}.branch-cta__button:hover{background:hsl(var(--foreground) / .9)}.branch-cta__button svg{width:1rem;height:1rem;transition:transform var(--duration-normal) var(--ease-standard)}.branch-cta__button:hover svg{transform:translate(.25rem)}@media(min-width:640px){.branch-cta{padding:4rem 0}.branch-cta__heading{font-size:2.25rem}}@media(min-width:768px){.branch-cta__inner{flex-direction:row;align-items:center}.branch-cta__heading{font-size:3rem}}@media(min-width:1024px){.branch-cta{padding:6rem 0}}@keyframes branch-fade-up{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}[data-reveal]{opacity:0;transform:translateY(1.875rem);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.branch-hero__inner,[data-reveal]{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}
