.av-section{position:relative;padding:110px 0;background:radial-gradient(ellipse at 80% 0%,#31184d55,transparent 44%),#09090c;color:#f6f3fc;scroll-margin-top:90px}.av-wrap{width:min(1240px,calc(100% - 64px));margin:auto}.av-eyebrow{display:flex;justify-content:space-between;color:#bba5db;font-size:11px;letter-spacing:.2em;border-top:1px solid #ffffff24;padding-top:22px}.av-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:48px 0}.av-heading h2{font-size:clamp(48px,6.6vw,88px);font-weight:600;letter-spacing:-.065em;line-height:1.03}.av-heading h2 em{font-style:normal;color:#bd8fff}.av-heading>p{max-width:330px;color:#aaa6b2;font-size:16px;line-height:1.8;margin-bottom:8px}.av-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:40px 0 30px}.av-filters button{border:1px solid #ffffff26;padding:10px 20px;border-radius:30px;font-size:13px;background:transparent;color:#c5c1cc;transition:.2s}.av-filters button[aria-pressed=true]{background:#e9ddff;color:#241033;border-color:#e9ddff}.av-count{margin-left:auto;color:#9b94a4;font-size:12px}.av-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.av-card[hidden]{display:none!important}.av-card:first-child{grid-column:1/-1}.av-project{display:block;text-align:left;width:100%;color:inherit;background:transparent;border:0}.av-stage{height:480px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:#202027}.av-stage>img{width:auto;height:82%;max-width:82%;object-fit:contain;box-shadow:0 25px 40px #0005;transition:transform .6s cubic-bezier(.2,.65,.2,1)}.av-project:hover .av-stage>img{transform:translateY(-8px) rotate(-1deg)}.av-anet .av-stage{background:radial-gradient(ellipse at top,#a88288,#3c2733);height:540px;padding:42px 55px 0;align-items:flex-start}.av-browser{width:100%;max-width:1030px;border:1px solid #ffffff50;border-radius:10px 10px 0 0;overflow:hidden;box-shadow:0 25px 50px #16091177;transform:translateY(10px);transition:transform .6s}.av-project:hover .av-browser{transform:translateY(0)}.av-browserbar{height:32px;display:flex;align-items:center;gap:5px;background:#f1edf0;padding:0 14px;color:#665963}.av-browserbar i{height:6px;width:6px;border-radius:50%;background:#cbbac4}.av-browserbar span{font-size:9px;letter-spacing:.14em;margin:auto}.av-browser img{width:100%;height:auto;display:block}.av-badge{position:absolute;bottom:20px;left:24px;padding:7px 12px;border-radius:20px;background:#21171ddd;font-size:10px;letter-spacing:.06em}.av-open{position:absolute;right:20px;bottom:20px;height:43px;width:43px;display:grid;place-items:center;background:#ffffffed;color:#16101d;border-radius:50%;font-size:22px;transition:transform .25s}.av-project:hover .av-open{transform:rotate(45deg)}.av-atlas .av-stage{background:#a4d8fa}.av-atlas .av-stage>img{width:100%;height:100%;max-width:100%;object-fit:cover;box-shadow:none}.av-wordmark{position:absolute;bottom:45px;left:28px;font-size:30px;font-weight:700;letter-spacing:.15em;color:#17304d}.av-smallmark{position:absolute;top:25px;left:28px;font-size:10px;letter-spacing:.2em;color:#17304d}.av-georgette .av-stage{background:radial-gradient(ellipse at 25% 20%,#e2bc88,#726647)}.av-georgette .av-stage>img{transform:rotate(3deg)}.av-impact .av-stage{background:#242745}.av-impact .av-stage>img{transform:rotate(-3deg)}.av-don .av-stage{background:#c97aa2}.av-don .av-stage>img{transform:rotate(2deg)}.av-cardinfo{padding:23px 2px 0}.av-type{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#aea5be}.av-cardinfo h3{font-size:25px;letter-spacing:-.035em;margin:10px 0 7px;font-weight:550}.av-cardinfo p{font-size:13px;color:#aaa4b2;line-height:1.7}.av-discover{display:inline-flex;gap:25px;font-size:12px;padding:16px 0 4px;border-bottom:1px solid #ffffff30}.av-footerline{border-top:1px solid #ffffff24;margin-top:55px;padding-top:27px;display:flex;justify-content:space-between;gap:20px;color:#aaa4b2;font-size:14px}.av-footerline a{color:#e7d8ff}.av-footerline a span{margin-left:20px}.av-dialog{position:fixed;inset:0;width:min(1060px,calc(100vw - 40px));max-height:92dvh;margin:auto;background:#111015;color:#f5f2f9;border:1px solid #ffffff30;border-radius:20px;padding:0;overscroll-behavior:contain}.av-dialog::backdrop{background:#050308da;backdrop-filter:blur(12px)}.av-detail{padding:45px}.av-close{position:sticky;top:12px;display:block;margin:0 0 20px auto;z-index:2;background:#302938;color:#fff;border:1px solid #ffffff30;padding:10px 16px;border-radius:25px;font-size:12px}.av-close span{font-size:19px;margin-left:10px}.av-detailcopy{max-width:720px;margin:20px 0 35px}.av-detailcopy h2{font-size:clamp(30px,5vw,57px);letter-spacing:-.055em;line-height:1.1;margin:15px 0 20px}.av-detailcopy>p{font-size:16px;color:#c6bfce;line-height:1.8}.av-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.av-tags span{font-size:11px;border:1px solid #ffffff30;border-radius:20px;padding:7px 12px}.av-detailcopy small{display:block;color:#9e96a8;font-size:11px;line-height:1.7}.av-detailvisual{padding:35px;background:#22212b;border-radius:10px;text-align:center}.av-detailvisual img{display:block;max-width:100%;width:auto;max-height:1000px;height:auto;margin:auto}.av-detailcta{display:flex;justify-content:space-between;gap:20px;padding-top:30px;color:#b1a7ba;font-size:13px}.av-detailcta a{color:#e4caff}.av-brandscene{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;padding:40px 0}.av-brandscene h3{font-size:25px;line-height:1.2;margin-top:12px}.av-profile{border:1px solid #ffffff25;background:#192133;padding:22px;border-radius:14px;display:flex;gap:15px;align-items:center}.av-profile img{width:60px;height:60px;border-radius:50%}.av-profile strong,.av-profile span{display:block}.av-profile strong{font-size:20px;letter-spacing:.1em}.av-profile span{font-size:10px;color:#a4b5d2}.av-profile .av-online{margin-left:auto;color:#70daa6}.av-phone{width:min(1240px,calc(100% - 64px));margin:0 auto 65px;padding:30px 0;border-top:1px solid #b288df50;border-bottom:1px solid #b288df50;display:flex;justify-content:space-between;gap:25px;align-items:center}.av-phone h3{font-size:24px;color:#f4ecff;margin-top:10px;letter-spacing:-.035em}.av-phone a{display:grid;gap:8px}.av-phone a span{font-size:11px;color:#b5a5c7}.av-phone strong{font-size:21px;color:#eee1ff;white-space:nowrap}.av-footerphone{text-align:center;font-size:12px;color:#cbb5e3;padding:20px}.av-section button:focus-visible,.av-section a:focus-visible,.av-dialog button:focus-visible,.av-dialog a:focus-visible,.av-phone a:focus-visible{outline:3px solid #cc9dff;outline-offset:5px}
@media(max-width:700px){.av-section{padding:70px 0}.av-wrap{width:calc(100% - 36px)}.av-eyebrow{font-size:9px;letter-spacing:.1em}.av-eyebrow span:last-child{display:none}.av-heading{display:block;margin:32px 0}.av-heading>p{margin:24px 0 0;font-size:14px}.av-heading h2{font-size:55px}.av-grid{grid-template-columns:1fr;gap:35px}.av-stage{height:410px}.av-anet .av-stage{height:auto;min-height:240px;padding:20px 16px 45px}.av-browserbar{height:22px}.av-browserbar span{font-size:6px}.av-badge{left:12px;bottom:12px;font-size:8px}.av-open{right:12px;bottom:12px;width:32px;height:32px;font-size:18px}.av-cardinfo h3{font-size:24px}.av-filters{gap:6px}.av-filters button{padding:9px 13px;font-size:12px}.av-count{font-size:10px}.av-footerline{font-size:12px}.av-dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:12px}.av-detail{padding:20px}.av-detailvisual{padding:12px}.av-detailcopy>p{font-size:14px}.av-brandscene{grid-template-columns:1fr}.av-detailcta{flex-direction:column}.av-phone{width:calc(100% - 36px);align-items:flex-start;flex-direction:column}.av-phone strong{font-size:23px}.av-footerphone span{display:none}.av-footerphone a{display:block;margin:8px}.av-card:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.av-section *{transition:none!important}}

/* Gentle project transitions; keep transforms on the compositor. */
.av-stage>img,.av-browser{transition:transform 850ms cubic-bezier(.22,1,.36,1)}
.av-stage{transition:box-shadow 700ms cubic-bezier(.22,1,.36,1)}
.av-open{transition:transform 650ms cubic-bezier(.22,1,.36,1),background-color 400ms ease}
.av-project:hover .av-open{transform:translate(2px,-2px);background:#e9dcff}
@media(hover:hover) and (pointer:fine){
.av-project:hover .av-stage{box-shadow:0 18px 55px #0003}
.av-project:hover .av-stage>img{transform:translateY(-5px) scale(1.025)}
.av-georgette .av-project:hover .av-stage>img{transform:translateY(-5px) rotate(2deg) scale(1.025)}
.av-impact .av-project:hover .av-stage>img{transform:translateY(-5px) rotate(-2deg) scale(1.025)}
.av-don .av-project:hover .av-stage>img{transform:translateY(-5px) rotate(1deg) scale(1.025)}
.av-atlas .av-project:hover .av-stage>img{transform:scale(1.035)}
}
.av-dialog[open]{animation:av-dialog-in 460ms cubic-bezier(.22,1,.36,1) both}
.av-dialog[open]::backdrop{animation:av-backdrop-in 400ms ease both}
.av-dialog[open] .av-detailcopy{animation:av-content-in 520ms 50ms cubic-bezier(.22,1,.36,1) both}
.av-dialog[open] .av-detailvisual{animation:av-content-in 600ms 90ms cubic-bezier(.22,1,.36,1) both}
.av-dialog.av-closing[open]{animation:av-dialog-out 240ms ease both;pointer-events:none}
.av-dialog.av-closing[open]::backdrop{animation:av-backdrop-out 240ms ease both}
@keyframes av-dialog-in{from{opacity:0;transform:translateY(20px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes av-dialog-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.985)}}
@keyframes av-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes av-backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes av-content-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.av-dialog[open],.av-dialog[open]::backdrop,.av-dialog[open] .av-detailcopy,.av-dialog[open] .av-detailvisual{animation:none!important}.av-section *{transition:none!important}}

/* Always retain a gentle dissolve, even when the OS requests reduced motion. */
.av-section .av-stage>img,.av-section .av-browser{transition:transform 700ms cubic-bezier(.22,1,.36,1)!important}
.av-section .av-open{transition:transform 550ms cubic-bezier(.22,1,.36,1),background-color 400ms ease!important}
.av-section .av-stage{transition:box-shadow 650ms cubic-bezier(.22,1,.36,1)!important}
.av-dialog.av-closing[open]{animation-duration:300ms}
.av-dialog.av-closing[open]::backdrop{animation-duration:300ms}
@media(prefers-reduced-motion:reduce){
 .av-dialog[open]{animation:av-backdrop-in 380ms ease both!important}
 .av-dialog[open]::backdrop{animation:av-backdrop-in 380ms ease both!important}
 .av-dialog.av-closing[open]{animation:av-backdrop-out 300ms ease both!important}
 .av-dialog.av-closing[open]::backdrop{animation:av-backdrop-out 300ms ease both!important}
}
