@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/font-1.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500 700;font-display:swap;src:url("assets/fonts/font-1.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("assets/fonts/font-3.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/font-5.woff2") format("woff2")}
:root{--night:#050611;--night-2:#080a17;--night-3:#0d1021;--paper:#f6f4ef;--bone:#eee8df;--ink:#11121a;--muted:#999cab;--violet:#8f2cff;--violet-2:#b34cff;--cyan:#77e5ff;--line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.075);--max:1440px;--header:86px;--shell:min(calc(100% - clamp(36px,7vw,110px)),var(--max));--sans:"DM Sans","Helvetica Neue",Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif;--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;font-family:var(--sans);background:var(--night)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto!important;scroll-padding-top:90px;background:var(--night)}
body{min-width:320px;margin:0;overflow-x:clip;color:var(--paper);background:radial-gradient(circle at 85% 10%,rgba(104,35,197,.12),transparent 28%),linear-gradient(180deg,#050611,#080915 40%,#04050d);font-family:var(--sans);font-size:16px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
body::before{position:fixed;inset:0;z-index:-4;pointer-events:none;content:"";opacity:.14;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:88px 88px;mask-image:radial-gradient(circle at 76% 25%,black,transparent 68%)}
a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}button{padding:0;background:none;border:0}img,svg,canvas{display:block;max-width:100%}
::selection{color:var(--night);background:var(--cyan)}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.skip-link{position:fixed;top:12px;left:12px;z-index:2200;padding:.75rem 1rem;color:var(--night);background:var(--cyan);transform:translateY(-160%);transition:transform 180ms ease}.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page-noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.09;background-image:repeating-radial-gradient(circle at 10% 30%,transparent 0 1px,rgba(255,255,255,.34) 1px 2px);background-size:5px 5px;mix-blend-mode:soft-light}
.page-progress{position:fixed;top:0;right:0;left:0;z-index:1400;height:2px;pointer-events:none}.page-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet-2));transform:scaleX(0);transform-origin:left}
.site-cursor{position:fixed;top:0;left:0;z-index:1600;width:68px;height:68px;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0)}.site-cursor.is-visible{opacity:1}.site-cursor::before,.site-cursor::after{position:absolute;content:"";border-radius:50%}.site-cursor::before{inset:10px;border:1px solid rgba(119,229,255,.52);transition:inset 350ms var(--ease),background 350ms ease}.site-cursor::after{top:31px;left:31px;width:6px;height:6px;background:var(--cyan);box-shadow:0 0 18px rgba(119,229,255,.8)}.site-cursor.is-link::before{inset:0;background:rgba(119,229,255,.18);border-color:var(--cyan)}
.site-header{position:fixed;top:0;right:0;left:0;z-index:1200;display:grid;grid-template-columns:1fr auto 1fr;gap:1.2rem;align-items:center;width:100%;min-height:var(--header);padding-inline:clamp(24px,4vw,64px);background:rgba(5,6,17,.42);border-bottom:1px solid transparent;backdrop-filter:blur(14px) saturate(130%);transition:min-height 350ms var(--ease),background 350ms ease,border-color 350ms ease,transform 500ms var(--ease)}
.site-header.is-scrolled{min-height:70px;background:rgba(5,6,17,.8);border-color:var(--line-soft);backdrop-filter:blur(22px) saturate(145%)}.site-header.is-hidden{transform:translateY(-110%)}
.brand{position:relative;display:block;width:134px;height:32px;justify-self:start}.brand::before{position:absolute;inset:3px 0;content:"";background:url("assets/asban-logo.svg") left center/contain no-repeat;filter:brightness(0) invert(1)}.brand-mark,.brand-text{display:none!important}
.primary-nav{display:flex;gap:clamp(1rem,2.4vw,2.8rem);align-items:center;justify-content:center}.primary-nav a{position:relative;padding:.55rem .15rem;color:rgba(255,255,255,.68);font-size:.75rem;font-weight:500}.primary-nav a::after{position:absolute;right:0;bottom:.2rem;left:0;height:1px;content:"";background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform 320ms var(--ease)}.primary-nav a:hover::after,.primary-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.header-cta,.button{position:relative;display:inline-flex;gap:1.2rem;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.25rem;overflow:hidden;border-radius:100px;font-size:.75rem;font-weight:600;isolation:isolate;transition:color 300ms ease,border-color 300ms ease,transform 350ms var(--ease)}
.header-cta{justify-self:end;color:var(--paper);background:linear-gradient(90deg,#7a1ee4,#aa36ff);border:1px solid rgba(255,255,255,.22);box-shadow:0 14px 36px rgba(112,31,213,.23)}.header-cta::before,.button-primary::before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(90deg,var(--cyan),#baf4ff);transform:translateX(-105%);transition:transform 520ms var(--ease)}.header-cta:hover::before,.button-primary:hover::before{transform:none}.header-cta:hover,.button-primary:hover{color:var(--night)}
.button-primary{color:var(--paper);background:linear-gradient(90deg,#7a1ee4,#ad37ff);border:1px solid rgba(255,255,255,.2);box-shadow:0 16px 42px rgba(112,31,213,.25)}.button-secondary{color:rgba(255,255,255,.72);background:rgba(255,255,255,.045);border:1px solid var(--line)}.button-secondary:hover{color:var(--cyan);border-color:rgba(119,229,255,.42)}.magnetic{will-change:transform}
.nav-toggle{display:none;width:46px;height:46px;place-content:center;border:1px solid var(--line);border-radius:50%;cursor:pointer}.nav-toggle-line{display:block;width:19px;height:1px;margin:2.5px 0;background:var(--paper);transition:transform 350ms var(--ease),opacity 200ms ease}.nav-toggle[aria-expanded=true] .nav-toggle-line:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.section{position:relative;width:var(--shell);margin-inline:auto;padding:clamp(82px,9vw,142px) 0}.subpage .section{padding:clamp(74px,8vw,126px) 0}
.page-hero{position:relative;display:grid;min-height:min(850px,88svh);align-content:center;width:100%!important;max-width:none!important;padding:calc(var(--header) + clamp(60px,7vw,108px)) max(clamp(24px,7vw,110px),calc((100vw - var(--max))/2)) clamp(78px,8vw,126px)!important;overflow:hidden;border-bottom:1px solid var(--line-soft);isolation:isolate}
.page-hero::before{position:absolute;inset:0;z-index:-3;content:"";background:radial-gradient(circle at 82% 42%,rgba(125,37,229,.24),transparent 26%),linear-gradient(90deg,#050611 0%,rgba(5,6,17,.96) 34%,rgba(5,6,17,.58) 58%,rgba(5,6,17,.76) 100%)}
.page-hero::after{position:absolute;right:-9%;bottom:-36%;z-index:-1;width:min(64vw,920px);aspect-ratio:1;content:"";border:1px solid rgba(164,84,255,.24);border-radius:50%;box-shadow:0 0 0 90px rgba(119,229,255,.035),0 0 0 190px rgba(164,84,255,.03)}
.page-aura{position:absolute;inset:0 0 0 41%;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(5,6,17,.7),transparent 34%),linear-gradient(180deg,rgba(5,6,17,.18),rgba(5,6,17,.64)),url("assets/asban-raccoon-hero-v1.jpg") 67% center/cover no-repeat;opacity:.68;filter:saturate(.8) contrast(1.08);clip-path:circle(82% at 78% 48%);will-change:clip-path,transform}
.route-about .page-aura{background-position:74% center}.route-contact .page-aura{background-position:62% center;opacity:.55}.route-blog .page-aura{filter:saturate(.65) contrast(1.08) hue-rotate(8deg)}
.page-hero>:not(.page-aura){position:relative;z-index:2}.breadcrumb{display:flex;flex-wrap:wrap;gap:.48rem;align-items:center;max-width:1050px;margin:0 0 clamp(2rem,4vw,3.6rem);color:rgba(255,255,255,.38);font-size:.67rem;letter-spacing:.03em}.breadcrumb a{color:rgba(119,229,255,.72)}.breadcrumb span{color:rgba(255,255,255,.36)}
.eyebrow{display:flex;gap:.7rem;align-items:center;margin:0 0 1.15rem;color:#bd73ff;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.eyebrow::before{width:7px;height:7px;content:"";background:var(--cyan);border-radius:50%;box-shadow:0 0 18px rgba(119,229,255,.85)}
h1,h2,h3,h4,p{margin-top:0}h1{max-width:14ch;margin-bottom:1.5rem;font-size:clamp(3.5rem,6.4vw,7rem);font-weight:500;letter-spacing:-.065em;line-height:.86}h2{max-width:15ch;margin-bottom:1rem;font-size:clamp(2.7rem,5vw,5.8rem);font-weight:400;letter-spacing:-.055em;line-height:.96}h3{margin-bottom:.7rem;font-size:clamp(1.2rem,1.9vw,1.75rem);font-weight:500;letter-spacing:-.035em;line-height:1.08}h4{margin-bottom:.55rem;font-size:1rem}p{color:rgba(246,244,239,.62);line-height:1.65}
.title-accent{display:inline;color:#ae4cff;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.035em;text-shadow:0 0 38px rgba(143,44,255,.18)}
.page-lede{max-width:720px;margin-bottom:1.8rem;color:rgba(246,244,239,.74);font-size:clamp(1rem,1.35vw,1.18rem)}.page-actions{display:flex;flex-wrap:wrap;gap:.8rem}.page-actions .button{min-width:160px}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.45fr);gap:clamp(2rem,8vw,9rem);align-items:end;margin-bottom:clamp(2.8rem,6vw,5rem)}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--line-soft)}.section-heading h2{margin-bottom:0}.section-heading p:not(.eyebrow){margin:0 0 .4rem}
main>.section:nth-of-type(odd)::before{position:absolute;top:10%;right:-20vw;z-index:-2;width:55vw;aspect-ratio:1;pointer-events:none;content:"";background:radial-gradient(circle,rgba(116,35,215,.12),transparent 68%);filter:blur(20px)}
.seo-section+.seo-section{padding-top:0}main>.section.related-section{width:100%;padding-block:clamp(70px,8vw,110px);padding-inline:calc((100% - var(--shell))/2);margin-inline:0;background:linear-gradient(90deg,rgba(77,18,145,.12),transparent);border-block:1px solid var(--line-soft);isolation:isolate}
.taxonomy-grid,.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:card}.taxonomy-card,.case-card{position:relative;display:flex;min-width:0;min-height:278px;padding:1.35rem;overflow:hidden;flex-direction:column;background:linear-gradient(155deg,rgba(16,20,42,.88),rgba(7,9,22,.9));border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.16);transform-style:preserve-3d;transition:border-color 350ms ease,background 350ms ease,box-shadow 450ms ease}.taxonomy-card::before,.case-card::before{counter-increment:card;content:"0" counter(card);color:rgba(255,255,255,.32);font-size:.58rem;letter-spacing:.1em}.taxonomy-card::after,.case-card::after{position:absolute;inset:0;z-index:-1;pointer-events:none;content:"";opacity:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(156,61,255,.24),transparent 40%);transition:opacity 350ms ease}.taxonomy-card:hover,.case-card:hover{background:linear-gradient(155deg,rgba(32,19,60,.94),rgba(8,10,24,.94));border-color:rgba(176,90,255,.48);box-shadow:0 28px 70px rgba(0,0,0,.27)}.taxonomy-card:hover::after,.case-card:hover::after{opacity:1}
.taxonomy-card span,.case-card span,.byline{display:inline-flex;margin:1.4rem 0 .7rem;color:#c279ff;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.taxonomy-card h3,.case-card h3{position:relative;margin-top:auto}.taxonomy-card p,.case-card p{position:relative;flex:1;margin-bottom:1.5rem;font-size:.8rem}.taxonomy-card a,.case-card a{position:relative;display:inline-flex;gap:.6rem;align-items:center;align-self:flex-start;min-height:38px;padding:.62rem .82rem;color:rgba(255,255,255,.74);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:100px;font-size:.68rem;font-weight:600;transition:color 250ms ease,background 250ms ease,border-color 250ms ease}.taxonomy-card a:hover,.case-card a:hover{color:var(--night);background:var(--cyan);border-color:var(--cyan)}
.structured-list{display:grid;gap:.85rem;padding:0;margin:1.5rem 0 0;list-style:none}.structured-list li{position:relative;padding:1rem 1rem 1rem 2.7rem;color:rgba(246,244,239,.64);background:rgba(255,255,255,.035);border:1px solid var(--line-soft);border-radius:10px;line-height:1.55}.structured-list li::before{position:absolute;top:1.05rem;left:1rem;display:grid;width:20px;height:20px;content:"↗";color:var(--cyan);place-items:center;border:1px solid rgba(119,229,255,.3);border-radius:50%;font-size:.58rem}.structured-list strong{color:var(--paper)}
.faq-list{display:grid;gap:.75rem;max-width:1040px;margin-inline:auto}.faq-item{padding:0;background:linear-gradient(150deg,rgba(15,18,38,.92),rgba(8,9,22,.9));border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.13);overflow:hidden}.faq-item summary{position:relative;padding:1.25rem 4rem 1.25rem 1.3rem;color:rgba(255,255,255,.82);font-size:clamp(.92rem,1.35vw,1.08rem);font-weight:600;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{position:absolute;top:50%;right:1.2rem;display:grid;width:28px;height:28px;content:"+";place-items:center;color:#c47cff;border:1px solid rgba(196,124,255,.3);border-radius:50%;transform:translateY(-50%);transition:transform 350ms var(--ease),color 250ms ease,background 250ms ease}.faq-item[open] summary::after{color:var(--night);background:var(--cyan);transform:translateY(-50%) rotate(45deg)}.faq-item p{padding:0 1.3rem 1.3rem;margin:0;max-width:820px}
.article-body{width:min(calc(100% - clamp(32px,8vw,140px)),1040px)!important;margin:clamp(70px,8vw,120px) auto!important;padding:clamp(28px,6vw,78px)!important;color:var(--ink);background:var(--bone);border-radius:18px;box-shadow:0 38px 100px rgba(0,0,0,.3)}.article-body::before{position:absolute;top:0;right:0;left:0;height:5px;content:"";background:linear-gradient(90deg,var(--violet),var(--cyan))}.article-body p,.article-body li{color:rgba(17,18,26,.72);font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.82}.article-body h2,.article-body h3,.article-body h4{color:var(--ink)}.article-body h2{max-width:17ch;margin-top:clamp(2.7rem,6vw,5rem);font-size:clamp(2.2rem,4vw,4.2rem)}.article-body h3{margin-top:2.2rem}.article-body a{color:#6418b6;text-decoration:underline;text-decoration-color:rgba(100,24,182,.35);text-underline-offset:3px}.article-body .structured-list li{color:rgba(17,18,26,.72);background:rgba(17,18,26,.035);border-color:rgba(17,18,26,.11)}.article-body .structured-list strong{color:var(--ink)}
.contact-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,.7fr);gap:clamp(3rem,8vw,9rem);align-items:start}.contact-copy{position:sticky;top:110px}.contact-copy h2{font-size:clamp(2.6rem,4.3vw,5rem)}.contact-points{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.7rem}.contact-points span{display:inline-flex;padding:.58rem .78rem;color:var(--cyan);background:rgba(119,229,255,.055);border:1px solid rgba(119,229,255,.22);border-radius:100px;font-size:.68rem;font-weight:600}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1.2rem,3vw,1.65rem);background:linear-gradient(155deg,rgba(20,18,45,.92),rgba(7,9,22,.94));border:1px solid rgba(177,90,255,.24);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.25)}.contact-form label{display:grid;gap:.5rem}.contact-form .full,.contact-form button,.form-note{grid-column:1/-1}.contact-form label>span{color:rgba(255,255,255,.54);font-size:.68rem;font-weight:600;letter-spacing:.04em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:50px;padding:.85rem .95rem;color:var(--paper);background:rgba(3,5,14,.6);border:1px solid var(--line);border-radius:9px;outline:none;transition:border-color 250ms ease,box-shadow 250ms ease}.contact-form textarea{min-height:160px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(119,229,255,.1)}.contact-form option{color:var(--paper);background:var(--night)}.contact-form button{cursor:pointer}.form-note{margin:0;color:rgba(255,255,255,.4);font-size:.68rem}
.work-detail-section{padding-top:0}.work-detail-section .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-work .case-card{min-height:360px;background:linear-gradient(145deg,rgba(57,23,93,.74),rgba(8,10,24,.94))}
.site-footer{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(220px,.55fr);gap:clamp(2rem,5vw,6rem);align-items:start;width:var(--shell);padding:clamp(62px,8vw,100px) 0 2rem;margin-inline:auto;border-top:1px solid var(--line-soft)}.site-footer::before{position:absolute;top:-1px;left:0;width:80px;height:1px;content:"";background:linear-gradient(90deg,var(--cyan),var(--violet-2))}.site-footer .brand{margin-bottom:1.5rem}.site-footer>div>p,.site-footer>p{max-width:470px;margin:1rem 0 0;font-size:.75rem}.site-footer nav{display:grid;gap:.65rem}.site-footer nav a{position:relative;color:rgba(255,255,255,.55);font-size:.72rem;transition:color 200ms ease,transform 300ms var(--ease)}.site-footer nav a:hover{color:var(--cyan);transform:translateX(4px)}.footer-meta{justify-self:end;text-align:right}
.has-gsap .reveal{will-change:transform,opacity}.no-gsap .reveal{opacity:1!important;transform:none!important}
@media(max-width:1050px){
:root{--header:74px;--shell:min(calc(100% - 40px),var(--max))}
.site-header{grid-template-columns:1fr auto;min-height:74px;padding-inline:20px}.header-cta{display:none}.nav-toggle{position:relative;z-index:3;display:grid}
.primary-nav{position:fixed;inset:0;z-index:2;display:grid;gap:.2rem;align-content:center;justify-items:start;padding:110px clamp(26px,8vw,80px) 60px;visibility:hidden;background:radial-gradient(circle at 80% 15%,rgba(143,44,255,.38),transparent 32%),rgba(5,6,17,.98);opacity:0;pointer-events:none;transition:opacity 450ms var(--ease),visibility 450ms}
.primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto}.primary-nav a{padding:.06em 0;color:var(--paper);font-family:var(--serif);font-size:clamp(3.4rem,9vw,6rem);font-style:italic;line-height:.98}.primary-nav a::after{display:none}
.page-hero{min-height:760px;padding-inline:20px!important}.page-aura{inset:0 0 0 30%;opacity:.5}.page-hero h1{max-width:16ch}
.taxonomy-grid,.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{grid-template-columns:1fr;gap:1.6rem}.section-heading p:not(.eyebrow){max-width:680px}
.contact-section{grid-template-columns:1fr}.contact-copy{position:static;max-width:720px}.site-footer{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1;justify-self:start;text-align:left}
}
@media(max-width:700px){
:root{--shell:calc(100% - 30px)}.site-cursor{display:none}.site-header{padding-inline:16px}.brand{width:118px;height:30px}
.page-hero{min-height:720px;align-content:start;padding:calc(var(--header) + 54px) 16px 84px!important}.page-hero::after{right:-45%;bottom:-12%;width:120vw}.page-aura{inset:34% -38% 0 10%;background-position:64% center;opacity:.46;mask-image:linear-gradient(180deg,transparent,black 28%)}.breadcrumb{margin-bottom:1.8rem;font-size:.59rem}.eyebrow{font-size:.58rem}.page-hero h1{max-width:100%;font-size:clamp(3.2rem,14.5vw,5rem);line-height:.9}.page-lede{font-size:.92rem}.page-actions,.page-actions .button{width:100%}.page-actions .button{min-height:50px}
.section,.subpage .section{padding:72px 0}.section-heading{margin-bottom:2.6rem}.section-heading h2{font-size:clamp(2.55rem,12vw,4.1rem)}.taxonomy-grid,.case-grid,.work-detail-section .case-grid{grid-template-columns:1fr}.taxonomy-card,.case-card{min-height:242px}
.article-body{width:calc(100% - 20px)!important;margin:50px auto!important;padding:28px 20px!important;border-radius:12px}.article-body h2{font-size:clamp(2.15rem,10vw,3.4rem)}
.contact-form{grid-template-columns:1fr}.contact-form .full,.contact-form button,.form-note{grid-column:auto}.contact-form button{width:100%}
.site-footer{grid-template-columns:1fr;padding-top:58px}.footer-meta{grid-column:auto}.site-footer nav{grid-template-columns:1fr 1fr}
}
@media(pointer:coarse){.site-cursor{display:none}.taxonomy-card,.case-card{transform:none!important}}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
body{overflow:auto!important}.page-aura,.taxonomy-card,.case-card,.magnetic{transform:none!important}.reveal{opacity:1!important;transform:none!important}
}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.article-body .taxonomy-card,.article-body .case-card{color:var(--paper)}
.article-body .taxonomy-card h3,.article-body .case-card h3{color:var(--paper)}
.article-body .taxonomy-card p,.article-body .case-card p{color:rgba(246,244,239,.62)}
.article-body .taxonomy-card a,.article-body .case-card a{color:rgba(255,255,255,.74);text-decoration:none}
.article-body .taxonomy-card a:hover,.article-body .case-card a:hover{color:var(--night)}
/* Asban v4 cinematic route heroes */
.page-hero>.page-hero-art{position:absolute;inset:0;z-index:-2;margin:0;overflow:hidden;pointer-events:none;clip-path:circle(86% at 78% 48%);will-change:clip-path,transform}
.page-hero-art img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--hero-position,72% center);filter:saturate(.92) contrast(1.08);transform:scale(var(--hero-scale,1.02));transform-origin:76% 48%;will-change:transform}
.page-hero-art::before{position:absolute;inset:0;z-index:2;content:"";background:linear-gradient(90deg,#050611 0%,rgba(5,6,17,.97) 25%,rgba(5,6,17,.79) 42%,rgba(5,6,17,.2) 69%,rgba(5,6,17,.24) 100%),linear-gradient(180deg,rgba(5,6,17,.36),transparent 28%,transparent 64%,#050611 100%)}
.page-hero-art::after{position:absolute;inset:0;z-index:3;content:"";opacity:.13;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:86px 86px;mask-image:radial-gradient(circle at 77% 46%,black,transparent 68%)}
.page-hero:has(.page-hero-art) .page-aura{display:none}
.page-hero:has(.page-hero-art)::before{background:radial-gradient(circle at 79% 43%,rgba(145,52,255,.2),transparent 25%),linear-gradient(90deg,#050611,rgba(5,6,17,.36) 72%,#050611)}
.page-hero>:not(.page-aura):not(.page-hero-art){position:relative;z-index:2}
.page-hero h1{max-width:13ch;text-wrap:balance}.page-hero .page-lede{max-width:680px;text-wrap:pretty}
@media(max-width:1050px){.page-hero-art img{object-position:74% center}.page-hero-art::before{background:linear-gradient(90deg,#050611 0%,rgba(5,6,17,.92) 38%,rgba(5,6,17,.34) 76%),linear-gradient(180deg,rgba(5,6,17,.42),transparent 50%,#050611 100%)}}
@media(max-width:700px){.page-hero>.page-hero-art{inset:28% -2px 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:.78;mask-image:linear-gradient(180deg,transparent 0,black 18%,black 82%,transparent 100%)}.page-hero-art img{object-position:var(--hero-position,76% center);transform:scale(1.08)}.page-hero-art::before{background:linear-gradient(180deg,#050611 0%,rgba(5,6,17,.3) 22%,rgba(5,6,17,.18) 62%,#050611 100%),linear-gradient(90deg,rgba(5,6,17,.82),transparent 74%)}.page-hero-art::after{background-size:54px 54px}.page-hero h1{max-width:100%;text-wrap:balance}}
@media(prefers-reduced-motion:reduce){.page-hero-art,.page-hero-art img{transform:none!important}}
/* Asban v4 creative global footer */
.site-footer.site-footer-v4{--footer-line:rgba(255,255,255,.12);position:relative;display:block;width:100%;max-width:none;padding:0;margin:0;overflow:hidden;color:#f6f4ef;background:radial-gradient(circle at 88% 12%,rgba(130,38,232,.22),transparent 28%),radial-gradient(circle at 12% 82%,rgba(119,229,255,.07),transparent 23%),#03040c;border-top:1px solid var(--footer-line);isolation:isolate}
.site-footer-v4::before{position:absolute;inset:0;z-index:-2;width:auto;height:auto;content:"";background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent)}
.site-footer-v4 .footer-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,8vw,10rem);align-items:end;width:min(calc(100% - clamp(40px,8vw,140px)),1480px);min-height:clamp(390px,48vw,650px);padding:clamp(88px,11vw,170px) 0 clamp(70px,8vw,120px);margin-inline:auto;border-bottom:1px solid var(--footer-line)}
.site-footer-v4 .footer-stage-copy{position:relative;z-index:2;max-width:990px}.site-footer-v4 .footer-stage-copy .eyebrow{margin-bottom:1.6rem}.site-footer-v4 .footer-stage h2{max-width:12ch;margin:0;font-size:clamp(3.9rem,7.5vw,8.5rem);font-weight:450;letter-spacing:-.07em;line-height:.84;text-wrap:balance}.site-footer-v4 .footer-stage h2 em{display:block;color:#b958ff;font-family:var(--serif,"Instrument Serif",serif);font-style:italic;font-weight:400;letter-spacing:-.04em;text-shadow:0 0 52px rgba(160,70,255,.24)}.site-footer-v4 .footer-stage-copy>p:last-child{max-width:700px;margin:2rem 0 0;color:rgba(255,255,255,.58);font-size:clamp(.9rem,1.15vw,1.08rem);line-height:1.7}
.site-footer-v4 .footer-cta{position:relative;z-index:2;display:inline-flex;min-width:260px;min-height:64px;padding:1rem 1.3rem;gap:2rem;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(105deg,#7524e6,#ba35ff);border:1px solid rgba(255,255,255,.25);border-radius:100px;box-shadow:0 18px 60px rgba(110,25,220,.35);font-size:.76rem;font-weight:700;text-decoration:none;transition:transform 350ms cubic-bezier(.16,1,.3,1),box-shadow 350ms ease}.site-footer-v4 .footer-cta:hover{color:#fff;transform:translateY(-4px);box-shadow:0 26px 80px rgba(130,35,235,.5)}.site-footer-v4 .footer-cta span:last-child{display:grid;width:34px;height:34px;place-items:center;background:rgba(255,255,255,.13);border-radius:50%;font-size:1rem}
.site-footer-v4 .footer-orbit{position:absolute;top:clamp(42px,6vw,90px);right:clamp(-170px,-5vw,-60px);z-index:-1;width:min(48vw,720px);aspect-ratio:1;pointer-events:none;border:1px solid rgba(185,88,255,.24);border-radius:50%;box-shadow:0 0 100px rgba(109,33,213,.12) inset;animation:footer-orbit-spin 34s linear infinite}.site-footer-v4 .footer-orbit::before,.site-footer-v4 .footer-orbit::after,.site-footer-v4 .footer-orbit i{position:absolute;content:"";border:1px solid rgba(119,229,255,.12);border-radius:50%}.site-footer-v4 .footer-orbit::before{inset:10%}.site-footer-v4 .footer-orbit::after{inset:23%;border-style:dashed}.site-footer-v4 .footer-orbit i:nth-child(1){inset:36%}.site-footer-v4 .footer-orbit i:nth-child(2){top:50%;right:-7px;width:14px;height:14px;background:#b958ff;border:0;box-shadow:0 0 28px #9f45ff}.site-footer-v4 .footer-orbit i:nth-child(3){bottom:17%;left:8%;width:9px;height:9px;background:#77e5ff;border:0;box-shadow:0 0 22px #77e5ff}.site-footer-v4 .footer-orbit>span{position:absolute;top:50%;left:50%;color:rgba(255,255,255,.18);font-size:.62rem;letter-spacing:.55em;transform:translate(-50%,-50%)}
.site-footer-v4 .footer-grid{display:grid;grid-template-columns:minmax(300px,1.5fr) repeat(3,minmax(140px,.55fr));gap:clamp(2.2rem,5vw,7rem);width:min(calc(100% - clamp(40px,8vw,140px)),1480px);padding:clamp(68px,8vw,110px) 0;margin-inline:auto}.site-footer-v4 .footer-brand-block{max-width:500px}.site-footer-v4 .footer-brand-block .brand{position:relative;display:block;width:134px;height:34px;margin-bottom:2rem}.site-footer-v4 .footer-brand-block .brand::before{position:absolute;inset:2px 0;content:"";background:url("assets/asban-logo.svg") left center/contain no-repeat;filter:brightness(0) invert(1)}.site-footer-v4 .footer-brand-block .brand-mark,.site-footer-v4 .footer-brand-block .brand-text{display:none!important}.site-footer-v4 .footer-brand-block>p{max-width:450px;margin:0;color:rgba(255,255,255,.53);font-size:.78rem;line-height:1.7}.site-footer-v4 .footer-location{margin-top:2rem!important;color:rgba(255,255,255,.7)!important}.site-footer-v4 .footer-location span{display:block;margin-bottom:.5rem;color:#77e5ff;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.site-footer.site-footer-v4 .footer-column{display:flex;gap:.72rem;align-items:flex-start;flex-direction:column}.site-footer-v4 .footer-column strong{margin-bottom:.65rem;color:rgba(255,255,255,.32);font-size:.59rem;letter-spacing:.14em;text-transform:uppercase}.site-footer-v4 .footer-column a{position:relative;margin:0;color:rgba(255,255,255,.62);font-size:.76rem;line-height:1.4;text-decoration:none;transition:color 200ms ease,transform 300ms cubic-bezier(.16,1,.3,1)}.site-footer-v4 .footer-column a::after{content:"↗";margin-left:.45rem;color:#b958ff;opacity:0;transition:opacity 200ms ease}.site-footer-v4 .footer-column a:hover{color:#fff;transform:translateX(4px)}.site-footer-v4 .footer-column a:hover::after{opacity:1}
.site-footer-v4 .footer-bottom{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - clamp(40px,8vw,140px)),1480px);padding:1.25rem 0 1.6rem;margin-inline:auto;color:rgba(255,255,255,.3);border-top:1px solid var(--footer-line);font-size:.6rem;letter-spacing:.03em}.site-footer-v4 .footer-bottom p{margin:0;color:inherit;font-size:inherit}
@keyframes footer-orbit-spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.site-footer-v4 .footer-stage{grid-template-columns:1fr;align-items:start}.site-footer-v4 .footer-cta{width:fit-content}.site-footer-v4 .footer-grid{grid-template-columns:1.5fr 1fr 1fr}.site-footer-v4 .footer-column:last-child{grid-column:2/-1}.site-footer-v4 .footer-orbit{width:75vw;opacity:.7}}
@media(max-width:700px){.site-footer-v4 .footer-stage{min-height:0;padding:90px 0 70px}.site-footer-v4 .footer-stage h2{font-size:clamp(3.5rem,16vw,5.8rem)}.site-footer-v4 .footer-cta{width:100%;min-width:0}.site-footer-v4 .footer-grid{grid-template-columns:1fr 1fr;padding:65px 0}.site-footer-v4 .footer-brand-block{grid-column:1/-1}.site-footer-v4 .footer-column:last-child{grid-column:auto}.site-footer-v4 .footer-bottom{display:grid;gap:.65rem}.site-footer-v4 .footer-orbit{top:30px;right:-58%;width:135vw}}
@media(max-width:440px){.site-footer-v4 .footer-grid{grid-template-columns:1fr}.site-footer-v4 .footer-brand-block{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.site-footer-v4 .footer-orbit{animation:none!important}}
/* Asban v14.3 — gradient treatment for purple H2 accents */
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .section-heading h2 .title-accent,
  .site-footer-v4 .footer-stage h2 em {
    color:transparent;
    background-image:linear-gradient(90deg,#8000FF 0%,#DD00FF 100%);
    background-repeat:no-repeat;
    background-size:100% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}

@media (forced-colors:active) {
  .section-heading h2 .title-accent,
  .site-footer-v4 .footer-stage h2 em {
    color:CanvasText;
    background:none;
    -webkit-text-fill-color:currentColor;
  }
}
/* Asban v15.1 - controlled ultrawide inner-page layout */
@media(min-width:2200px){
  :root{--max:1920px}
  .site-footer-v4 .footer-stage,.site-footer-v4 .footer-grid,.site-footer-v4 .footer-bottom{width:min(calc(100% - 12vw),1920px)}
}
/* Asban v16.3 - shared taxonomy-card visual registry */
.taxonomy-card--visual{
  --taxonomy-primary:#8000ff;
  --taxonomy-secondary:#dd00ff;
  --taxonomy-accent:#77e5ff;
  --taxonomy-glow:rgba(128,0,255,.18);
  isolation:isolate;
  background:
    radial-gradient(circle at 91% 6%,var(--taxonomy-glow),transparent 34%),
    linear-gradient(155deg,rgba(16,20,42,.94),rgba(7,9,22,.96));
  border-color:rgba(164,83,255,.21);
}
.taxonomy-card--visual-ai,.taxonomy-card--visual-consulting{--taxonomy-primary:#a23aff;--taxonomy-glow:rgba(162,58,255,.17)}
.taxonomy-card--visual-design,.taxonomy-card--visual-editorial{--taxonomy-primary:#dd00ff;--taxonomy-secondary:#8f2cff;--taxonomy-glow:rgba(221,0,255,.14)}
.taxonomy-card--visual-development,.taxonomy-card--visual-infrastructure{--taxonomy-primary:#8747ff;--taxonomy-glow:rgba(92,57,221,.17)}
.taxonomy-card--visual-marketing,.taxonomy-card--visual-security{--taxonomy-primary:#c238ff;--taxonomy-glow:rgba(194,56,255,.15)}
.taxonomy-card--visual-multimedia{--taxonomy-primary:#993cff;--taxonomy-glow:rgba(112,28,238,.17)}
.taxonomy-card--visual::before{position:relative;z-index:3}
.taxonomy-card--visual::after{z-index:0}
.taxonomy-card--visual>:not(.taxonomy-card__visual){position:relative;z-index:2}
.taxonomy-card--visual>span:first-of-type{max-width:calc(100% - 72px);padding-right:4px}
.taxonomy-card__visual{position:absolute;inset:0;z-index:1;display:block;overflow:hidden;pointer-events:none;border-radius:inherit}
.taxonomy-card__scene,.taxonomy-card__glyph{position:absolute;display:block;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}
.taxonomy-card__scene{top:-10px;right:-20px;width:min(72%,330px);height:auto;color:var(--taxonomy-primary);opacity:.14;stroke:currentColor;stroke-width:1.05;transition:opacity 420ms ease,transform 780ms var(--ease)}
.taxonomy-card__glyph{top:17px;right:18px;width:54px;height:54px;color:var(--taxonomy-primary);stroke:currentColor;stroke-width:1.75;filter:drop-shadow(0 0 9px rgba(172,63,255,.32));transition:filter 420ms ease,transform 620ms var(--ease)}
.taxonomy-visual__primary{color:var(--taxonomy-primary);stroke:currentColor}
.taxonomy-visual__secondary{color:var(--taxonomy-secondary);stroke:currentColor}
.taxonomy-visual__accent{color:var(--taxonomy-accent);stroke:currentColor}
.taxonomy-scene__static{opacity:.66}
.taxonomy-scene__node{fill:var(--taxonomy-secondary);stroke:none;filter:drop-shadow(0 0 5px var(--taxonomy-secondary));transform-box:fill-box;transform-origin:center}
.taxonomy-motion--draw{stroke-dasharray:9 11;stroke-dashoffset:0}
.taxonomy-motion--spin,.taxonomy-motion--drift,.taxonomy-motion--scan,.taxonomy-motion--pulse{transform-box:fill-box;transform-origin:center}
.taxonomy-card--visual:is(:hover,:focus-within){
  background:
    radial-gradient(circle at var(--mx,82%) var(--my,18%),rgba(221,0,255,.2),transparent 36%),
    radial-gradient(circle at 88% 4%,var(--taxonomy-glow),transparent 40%),
    linear-gradient(155deg,rgba(33,19,61,.96),rgba(8,10,24,.98));
  border-color:rgba(190,103,255,.52);
  box-shadow:0 28px 72px rgba(0,0,0,.3),0 1px 0 rgba(221,0,255,.88),0 12px 32px rgba(128,0,255,.16);
}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-card__scene{opacity:.34;transform:translate3d(-7px,5px,0) scale(1.035)}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-card__glyph{filter:drop-shadow(0 0 13px rgba(221,0,255,.7));transform:translateY(-2px) scale(1.055)}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-motion--draw{animation:taxonomy-scene-flow 2.25s linear infinite}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-motion--spin{animation:taxonomy-scene-spin 6s linear infinite}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-motion--pulse{animation:taxonomy-scene-pulse 1.45s ease-in-out infinite}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-motion--drift{animation:taxonomy-scene-drift 2.1s ease-in-out infinite}
.taxonomy-card--visual:is(:hover,:focus-within) .taxonomy-motion--scan{animation:taxonomy-scene-scan 1.8s ease-in-out infinite}
@keyframes taxonomy-scene-flow{to{stroke-dashoffset:-80}}
@keyframes taxonomy-scene-spin{to{transform:rotate(360deg)}}
@keyframes taxonomy-scene-pulse{0%,100%{opacity:.45;transform:scale(.78)}50%{opacity:1;transform:scale(1.18)}}
@keyframes taxonomy-scene-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-4px,-3px,0)}}
@keyframes taxonomy-scene-scan{0%,100%{opacity:.24;transform:translateX(-10px)}50%{opacity:1;transform:translateX(18px)}}
@media(max-width:700px){
  .taxonomy-card__scene{right:-34px;width:min(82%,310px)}
  .taxonomy-card__glyph{top:16px;right:16px;width:50px;height:50px}
  .taxonomy-card--visual>span:first-of-type{max-width:calc(100% - 66px)}
}
@media(pointer:coarse){
  .taxonomy-card--visual:not(:focus-within) .taxonomy-card__scene,
  .taxonomy-card--visual:not(:focus-within) .taxonomy-card__glyph{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .taxonomy-card--visual,.taxonomy-card--visual::after,
  .taxonomy-card--visual .taxonomy-card__scene,.taxonomy-card--visual .taxonomy-card__glyph,
  .taxonomy-card--visual .taxonomy-motion--draw,.taxonomy-card--visual .taxonomy-motion--spin,
  .taxonomy-card--visual .taxonomy-motion--pulse,.taxonomy-card--visual .taxonomy-motion--drift,
  .taxonomy-card--visual .taxonomy-motion--scan{
    animation:none!important;
    transition-duration:.001ms!important;
  }
  .taxonomy-card--visual .taxonomy-motion--draw{stroke-dashoffset:0!important}
  .taxonomy-card--visual .taxonomy-card__scene,.taxonomy-card--visual .taxonomy-card__glyph,
  .taxonomy-card--visual .taxonomy-motion--spin,.taxonomy-card--visual .taxonomy-motion--pulse,
  .taxonomy-card--visual .taxonomy-motion--drift,.taxonomy-card--visual .taxonomy-motion--scan{transform:none!important}
}
@media(forced-colors:active){.taxonomy-card__visual{display:none}}


/* Asban v17.1 - shared display-title line-box safety */
h1,h2{overflow:visible;line-height:1.12}
.page-hero h1{overflow:visible;line-height:1.12}
.section-heading h2,
.site-footer-v4 .footer-stage h2{overflow:visible;line-height:1.12}
