:root {
--avc-primary: #0d2d6c;
--avc-secondary: #0d8b72;
--avc-accent: #f97316;
--avc-highlight: #d4a017;
--avc-ink: #15213b;
--avc-muted: #536176;
--avc-surface: #ffffff;
--avc-surface-alt: #f5f7fb;
--avc-border: #d5dce8;
--avc-focus: #b64f00;
--avc-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--avc-font-heading: "Poppins", var(--avc-font-body);
--avc-content: 72rem;
--avc-reading: 46rem;
--avc-space-1: .5rem;
--avc-space-2: 1rem;
--avc-space-3: 1.5rem;
--avc-space-4: 2.5rem;
--avc-space-5: 4rem;
--avc-radius: .5rem;
--avc-shadow: 0 .5rem 1.5rem rgb(13 45 108 / 10%);
}
*, *::before, *::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
color: var(--avc-ink);
background: var(--avc-surface);
font-family: var(--avc-font-body);
font-size: 1rem;
line-height: 1.65;
text-rendering: optimizeLegibility;
}
img {
display: block;
max-width: 100%;
height: auto;
}
a {
color: var(--avc-primary);
text-underline-offset: .16em;
}
a:hover {
color: var(--avc-secondary);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
outline: 3px solid var(--avc-focus);
outline-offset: 3px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 var(--avc-space-2);
color: var(--avc-primary);
font-family: var(--avc-font-heading);
line-height: 1.2;
}
h1 {
font-size: clamp(2rem, 5vw, 3.25rem);
}
h2 {
font-size: clamp(1.5rem, 3vw, 2.25rem);
}
h3 {
font-size: clamp(1.25rem, 2vw, 1.5rem);
}
p,
ul,
ol {
margin: 0 0 var(--avc-space-2);
}
button,
input,
textarea,
select {
font: inherit;
}.l-container {
width: min(100% - 2rem, var(--avc-content));
margin-inline: auto;
}
.l-section {
padding-block: var(--avc-space-4);
}
.front-page__content {
max-width: var(--avc-reading);
}
.entry__header,
.archive-header {
margin-bottom: var(--avc-space-3);
}
.entry-meta {
color: var(--avc-muted);
font-size: .9rem;
}
.entry-content > * + * {
margin-top: var(--avc-space-2);
}
.entry-content a {
font-weight: 600;
}
.entry__image {
margin-bottom: var(--avc-space-3);
border-radius: var(--avc-radius);
}
@media (min-width: 48rem) {
.l-container {
width: min(100% - 4rem, var(--avc-content));
}
.l-section {
padding-block: var(--avc-space-3);
}
}.avc-button,
.avc-button--consultation {
display: inline-flex;
align-items: center;
justify-content: center;
padding: .75rem 1.1rem;
border: 1px solid var(--avc-primary);
border-radius: var(--avc-radius);
background: var(--avc-primary);
color: #fff;
font-weight: 700;
text-decoration: none;
transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.avc-button:hover,
.avc-button--consultation:hover { border-color: var(--avc-secondary);
}
.post-card {
display: grid;
gap: var(--avc-space-2);
padding-block: var(--avc-space-3);
border-bottom: 1px solid var(--avc-border);
}
.post-card__image img {
width: 100%;
border-radius: var(--avc-radius);
}
.post-card__title a {
text-decoration: none;
}
.navigation.pagination,
.post-navigation {
margin-top: var(--avc-space-3);
}
.nav-links {
display: flex;
flex-wrap: wrap;
gap: .5rem;
}
.page-numbers {
padding: .35rem .6rem;
border: 1px solid var(--avc-border);
border-radius: .25rem;
text-decoration: none;
}
.page-numbers.current {
color: #fff;
border-color: var(--avc-primary);
background: var(--avc-primary);
}
.widget {
margin-top: var(--avc-space-4);
}
.widget__title {
font-size: 1.25rem;
}
@media (min-width: 48rem) {
.post-card {
grid-template-columns: minmax(12rem, 18rem) 1fr;
align-items: start;
}
}.screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.screen-reader-text:focus {
position: fixed;
z-index: 100;
top: 1rem;
left: 1rem;
width: auto;
height: auto;
padding: .75rem 1rem;
margin: 0;
overflow: visible;
clip: auto;
color: #fff;
background: var(--avc-primary);
}
.skip-link {
position: absolute;
z-index: 100;
top: -5rem;
left: 1rem;
padding: .75rem 1rem;
color: #fff;
background: var(--avc-primary);
}
.skip-link:focus {
top: 1rem;
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
*,
*::before,
*::after {
animation-duration: .01ms !important;
transition-duration: .01ms !important;
}
}.avc-topbar { position: relative; z-index: 30; color: var(--avc-surface); background: var(--avc-primary); font-size: var(--avc-text-sm, .8125rem); }
.avc-topbar__inner { display: flex; min-height: var(--avc-topbar-height, 2.25rem); align-items: center; justify-content: space-between; gap: var(--avc-space-2); }.avc-topbar__message { margin: 0; }.avc-topbar__link { color: inherit; font-weight: var(--avc-weight-semibold, 600); }
.avc-header { position: sticky; z-index: 30; top: 0; transition: background-color var(--avc-transition, 180ms ease), box-shadow var(--avc-transition, 180ms ease); background: var(--avc-surface); box-shadow: var(--avc-header-shadow, 0 1px 0 var(--avc-border)); }.avc-header--transparent { background: var(--avc-header-transparent, transparent); box-shadow: none; }.avc-header--scrolled { background: var(--avc-surface); box-shadow: var(--avc-shadow); }
.avc-header__inner { display: flex; min-height: var(--avc-header-height, 5rem); align-items: center; gap: var(--avc-space-2); }.avc-header__brand { flex: 0 0 auto; }.avc-header .custom-logo-link { display: block; max-width: var(--avc-logo-width, 10.75rem); }.avc-header .custom-logo, .avc-header__logo { display: block; width: auto; max-width: var(--avc-logo-width, 10.75rem); height: auto; max-height: var(--avc-logo-height, 3.5rem); }
.avc-header__nav { display: none; margin-left: auto; }.avc-header__menu, .avc-mega-menu__list, .avc-mobile-menu__list { padding: 0; margin: 0; list-style: none; }.avc-header__menu { display: flex; align-items: center; gap: var(--avc-space-1); }.avc-header__menu a { display: block; padding: var(--avc-space-1) var(--avc-space-2); color: var(--avc-primary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-header__menu a:hover, .avc-header__menu .current-menu-item > a { color: var(--avc-secondary); }
.avc-header__actions { display: flex; align-items: center; gap: var(--avc-space-1); margin-left: auto; }.avc-header__icon-button, .avc-header__menu-button { display: grid; width: var(--avc-control-size, 2.75rem); height: var(--avc-control-size, 2.75rem); place-items: center; padding: 0; border: 0; border-radius: var(--avc-radius); color: var(--avc-primary); background: transparent; cursor: pointer; font-size: var(--avc-icon-size, 1.5rem); }.avc-header__icon-button:hover, .avc-header__menu-button:hover { background: var(--avc-surface-alt); }.avc-button { display: inline-flex; min-height: var(--avc-control-size, 2.75rem); align-items: center; justify-content: center; padding: var(--avc-space-1) var(--avc-space-2); border: var(--avc-button-border, 1px solid transparent); border-radius: var(--avc-radius); font-weight: var(--avc-weight-semibold, 600); line-height: 1.2; text-align: center; text-decoration: none; }.avc-button--consultation { color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent); }.avc-button--consultation:hover { color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent-hover, var(--avc-highlight)); }
.avc-mega-menu { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; border-top: var(--avc-mega-border, 1px solid var(--avc-border)); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-mega-menu__inner { padding-block: var(--avc-space-4); }.avc-mega-menu__eyebrow { margin: 0 0 var(--avc-space-2); color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-transform: uppercase; letter-spacing: var(--avc-tracking, .08em); }.avc-mega-menu__list { display: grid; gap: var(--avc-space-1); grid-template-columns: repeat(auto-fit, minmax(var(--avc-mega-item-min, 12rem), 1fr)); }.avc-mega-menu__list a { display: block; padding: var(--avc-space-1); color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-mega-menu__list a:hover { color: var(--avc-secondary); background: var(--avc-surface-alt); }
.avc-mobile-menu { position: fixed; z-index: 60; inset: 0; pointer-events: none; }.avc-mobile-menu--open { pointer-events: auto; }.avc-mobile-menu__backdrop { position: absolute; inset: 0; opacity: 0; background: var(--avc-overlay, rgb(21 33 59 / 65%)); transition: opacity var(--avc-transition, 180ms ease); }.avc-mobile-menu--open .avc-mobile-menu__backdrop { opacity: 1; }.avc-mobile-menu__panel { position: relative; display: flex; width: min(var(--avc-drawer-width, 22rem), 88vw); height: 100%; flex-direction: column; padding: var(--avc-space-3); overflow-y: auto; transform: translateX(-100%); color: var(--avc-ink); background: var(--avc-surface); transition: transform var(--avc-transition, 180ms ease); }.avc-mobile-menu--open .avc-mobile-menu__panel { transform: translateX(0); }.avc-mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--avc-space-2); border-bottom: var(--avc-mobile-border, 1px solid var(--avc-border)); }.avc-mobile-menu__title { color: var(--avc-primary); font-family: var(--avc-font-heading); font-weight: var(--avc-weight-semibold, 600); }.avc-mobile-menu__close, .avc-mobile-menu__submenu-toggle, .avc-search__close { border: 0; color: var(--avc-primary); background: transparent; cursor: pointer; }.avc-mobile-menu__close, .avc-search__close { font-size: var(--avc-close-size, 2rem); }.avc-mobile-menu__nav { margin-top: var(--avc-space-2); }.avc-mobile-menu__list a { display: block; padding: var(--avc-space-1) 0; color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-mobile-menu__list .menu-item-has-children { display: grid; grid-template-columns: 1fr auto; align-items: start; }.avc-mobile-menu__list .sub-menu { display: none; grid-column: 1 / -1; padding: 0 0 0 var(--avc-space-2); margin: 0; list-style: none; }.avc-mobile-menu__list .sub-menu--open { display: block; }.avc-mobile-menu__submenu-toggle { min-width: var(--avc-control-size, 2.75rem); min-height: var(--avc-control-size, 2.75rem); }.avc-mobile-menu__cta { margin-top: auto; }
.avc-search { position: fixed; z-index: 70; inset: 0; display: grid; place-items: start center; padding: var(--avc-space-4) var(--avc-space-2); }.avc-search__backdrop { position: absolute; inset: 0; background: var(--avc-overlay, rgb(21 33 59 / 65%)); }.avc-search__panel { position: relative; width: min(var(--avc-search-width, 42rem), 100%); padding: var(--avc-space-3); border-radius: var(--avc-radius); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-search__close { display: block; margin-left: auto; }.avc-search .search-form { display: flex; gap: var(--avc-space-1); }.avc-search .search-field { width: 100%; min-height: var(--avc-control-size, 2.75rem); padding-inline: var(--avc-space-1); border: var(--avc-input-border, 1px solid var(--avc-border)); border-radius: var(--avc-radius); }.avc-search .search-submit { min-height: var(--avc-control-size, 2.75rem); padding-inline: var(--avc-space-2); border: 0; border-radius: var(--avc-radius); color: var(--avc-button-on-accent, var(--avc-surface)); background: var(--avc-accent); cursor: pointer; }
body.avc-scroll-locked { overflow: hidden; }
@media (min-width: 64rem) { .avc-header__nav { display: block; }.avc-header__menu-button { display: none; }.avc-header__actions { margin-left: var(--avc-space-1); }.avc-mobile-menu { display: none; } }
@media (max-width: 63.9375rem) { .avc-button--consultation { display: none; } }
@media (prefers-reduced-motion: reduce) { .avc-header, .avc-mobile-menu__backdrop, .avc-mobile-menu__panel { transition: none; } }
.avc-search[hidden] {
display: none;
}
.avc-search {
position: fixed;
inset: 0;
z-index: 9999;
}
body.search-open {
overflow: hidden;
} .urgent-support-menu { --urgent-menu-background: #f04444; --urgent-menu-hover: #d93636; --urgent-menu-text: #fff; --urgent-menu-glow: rgb(240 68 68 / 34%); position: relative; isolation: isolate; display: none; min-height: var(--avc-control-size, 2.875rem); align-items: center; justify-content: center; gap: .625rem; padding: .65rem 1.05rem; border: 1px solid rgb(255 255 255 / 28%); border-radius: calc(var(--avc-radius) + .125rem); color: var(--urgent-menu-text); background: linear-gradient(110deg, #bd1828 0%, #f04444 38%, #168947 62%, #087438 100%); background-size: 260% 100%; box-shadow: 0 .625rem 1.375rem var(--urgent-menu-glow), inset 0 1px 0 rgb(255 255 255 / 24%), inset 0 -1px 0 rgb(31 49 29 / 22%); font-size: var(--avc-text-sm, .9rem); font-weight: 700; letter-spacing: .01em; line-height: 1.2; text-align: center; text-decoration: none; text-shadow: 0 1px 1px rgb(25 25 25 / 32%); white-space: nowrap; animation: urgent-support-color-cycle 4s ease-in-out infinite alternate; transition: box-shadow 180ms ease, transform 180ms ease, filter 180ms ease; }
.urgent-support-menu:hover, .urgent-support-menu[aria-current="page"] { color: var(--urgent-menu-text); box-shadow: 0 .75rem 1.625rem rgb(31 148 81 / 40%), inset 0 1px 0 rgb(255 255 255 / 28%), inset 0 -1px 0 rgb(31 49 29 / 24%); filter: brightness(1.08) saturate(1.08); transform: translateY(-1px); }
.urgent-support-menu[aria-current="page"] { box-shadow: 0 0 0 2px rgb(255 255 255 / 72%), 0 .75rem 1.625rem rgb(240 68 68 / 42%), inset 0 1px 0 rgb(255 255 255 / 28%); }
.urgent-support-menu::after { position: absolute; z-index: -1; inset: 0; border: 2px solid rgb(240 68 68 / 68%); border-radius: inherit; content: ""; pointer-events: none; animation: urgent-support-button-pulse 2s ease-out infinite; }
.urgent-support-menu:active { transform: translateY(0); }
.urgent-support-menu:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px var(--avc-focus), 0 .75rem 1.625rem rgb(240 68 68 / 42%); }
.urgent-support-menu__status { position: relative; z-index: 1; width: .5625rem; height: .5625rem; flex: 0 0 .5625rem; border-radius: 50%; background: #fffafa; box-shadow: 0 0 0 2px rgb(255 255 255 / 18%); }
.urgent-support-menu__status::before { position: absolute; inset: -.25rem; border: 1px solid rgb(255 255 255 / 55%); border-radius: inherit; content: ""; }
.avc-mobile-menu__actions { display: grid; gap: .75rem; margin-top: 1.5rem; }
.avc-mobile-menu__actions .urgent-support-menu, .avc-mobile-menu__actions .avc-mobile-menu__cta { display: inline-flex; width: 100%; min-height: 3rem; }
@keyframes urgent-support-color-cycle { 0%, 15% { background-position: 0 50%; } 85%, 100% { background-position: 100% 50%; } }
@keyframes urgent-support-button-pulse { 0% { border-color: rgb(240 68 68 / 72%); opacity: .72; transform: scale(1); } 50% { border-color: rgb(22 137 71 / 72%); } 70%, 100% { border-color: rgb(8 116 56 / 40%); opacity: 0; transform: scale(1.12, 1.3); } }
@media (min-width: 70rem) { .urgent-support-menu { display: inline-flex; } }
@media (min-width: 64rem) and (max-width: 69.9375rem) { .avc-header__nav { display: none; } .avc-header__menu-button { display: grid; } .avc-header__actions { margin-left: auto; } .avc-mobile-menu { display: block; } }
@media (max-width: 69.9375rem) { .avc-header__actions > .avc-button--consultation { display: none; } }
@media (prefers-reduced-motion: reduce) { .urgent-support-menu { animation: none; background-position: 25% 50%; } .urgent-support-menu::after { animation: none; opacity: 0; } .urgent-support-menu__status, .urgent-support-menu__status::before { animation: none; } .urgent-support-menu__status::before { opacity: .45; transform: scale(.72); } }.avc-footer { position: relative; overflow: hidden; padding-top: var(--avc-space-4); color: var(--avc-footer-copy, var(--avc-surface)); background: linear-gradient(var(--avc-footer-dark, var(--avc-primary)), var(--avc-footer-purple, var(--avc-primary))); }.avc-footer__grid { display: grid; gap: var(--avc-space-3); padding-block: var(--avc-space-4); }.avc-footer__brand p, .avc-footer__column p { color: var(--avc-footer-muted, var(--avc-surface)); opacity: var(--avc-footer-opacity, .82); }.avc-footer__logo { color: inherit; font-family: var(--avc-font-heading); font-size: var(--avc-footer-logo-size, 1.4rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-footer h2 { color: inherit; font-size: var(--avc-footer-heading-size, 1rem); }.avc-footer ul { padding: 0; margin: 0; list-style: none; }.avc-footer__column li + li { margin-top: var(--avc-space-1); }.avc-footer a { color: inherit; text-underline-offset: var(--avc-link-offset, .16em); }.avc-footer a:hover { color: var(--avc-highlight); }.avc-footer__social { display: flex; gap: var(--avc-space-1); }.avc-footer__social a { display: grid; width: var(--avc-social-size, 2rem); height: var(--avc-social-size, 2rem); place-items: center; border: var(--avc-footer-border, 1px solid var(--avc-surface)); border-radius: var(--avc-radius); text-decoration: none; }.avc-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--avc-space-2); padding-block: var(--avc-space-2); border-top: var(--avc-footer-border, 1px solid var(--avc-surface)); font-size: var(--avc-text-sm, .875rem); }.avc-footer__bottom p { margin: 0; }.avc-footer__bottom nav { display: flex; flex-wrap: wrap; gap: var(--avc-space-2); }
.avc-footer-newsletter { display: grid; gap: var(--avc-space-2); padding: var(--avc-space-3); border: var(--avc-footer-border, 1px solid var(--avc-surface)); border-radius: var(--avc-s8-radius, 1.5rem); background: var(--avc-footer-glass, var(--avc-primary)); }.avc-footer-newsletter h2 { margin-bottom: var(--avc-space-1); }.avc-footer-newsletter p { margin: 0; opacity: var(--avc-footer-opacity, .82); }.avc-footer-newsletter__form { display: flex; flex-wrap: wrap; gap: var(--avc-space-1); }.avc-footer-newsletter input { min-height: var(--avc-control-size, 2.75rem); flex: 1 1 var(--avc-newsletter-input-width, 12rem); padding-inline: var(--avc-space-1); border: 0; border-radius: var(--avc-radius); }.avc-footer-newsletter button { min-height: var(--avc-control-size, 2.75rem); padding-inline: var(--avc-space-2); border: 0; border-radius: var(--avc-radius); color: var(--avc-surface); background: var(--avc-accent); font: inherit; font-weight: var(--avc-weight-semibold, 600); cursor: pointer; }.avc-footer-newsletter input:focus-visible, .avc-footer-newsletter button:focus-visible, .avc-footer a:focus-visible { outline: var(--avc-focus-outline, 3px solid var(--avc-highlight)); outline-offset: var(--avc-focus-offset, 3px); }
.avc-footer-newsletter__signup { min-width: 0; }
.avc-footer-newsletter__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.avc-footer-newsletter button:disabled { opacity: .65; cursor: wait; }
.avc-footer-newsletter__message { margin-top: 12px; padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.avc-footer-newsletter__message:empty { display: none; }
.avc-footer-newsletter__message.is-success { border: 1px solid #65c29a; color: #dff9ed; background: rgb(20 112 77 / 55%); }
.avc-footer-newsletter__message.is-error { border: 1px solid #ef938e; color: #fff0ef; background: rgb(151 35 28 / 55%); }
.avc-footer-newsletter__message.is-info { border: 1px solid #8eb9ee; color: #eef6ff; background: rgb(31 83 145 / 58%); }
@media (min-width: 42rem) { .avc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (min-width: 64rem) { .avc-footer__grid { grid-template-columns: 1.5fr repeat(3, 1fr); }.avc-footer-newsletter { grid-template-columns: 1fr 1fr; align-items: center; } }
@media (max-width: 41.99rem) { .avc-footer-newsletter__form { flex-direction: column; }.avc-footer-newsletter__form input, .avc-footer-newsletter__form button { width: 100%; flex-basis: auto; } }.avc-portfolio { position: relative; overflow: hidden; background: var(--avc-portfolio-bg, var(--avc-surface-alt)); }.avc-portfolio__dots { position: absolute; inset: 0; pointer-events: none; opacity: var(--avc-portfolio-dots-opacity, .35); background-image: radial-gradient(var(--avc-portfolio-dot, var(--avc-border)) var(--avc-portfolio-dot-size, 1px), transparent var(--avc-portfolio-dot-size, 1px)); background-size: var(--avc-portfolio-dot-space, 1.5rem) var(--avc-portfolio-dot-space, 1.5rem); }.avc-portfolio__container { position: relative; max-width: var(--avc-portfolio-width, 82.5rem); }.avc-portfolio__header { text-align: center; margin-bottom: var(--avc-space-4); }.avc-portfolio__eyebrow { margin: 0 0 var(--avc-space-2); color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); letter-spacing: var(--avc-tracking, .08em); text-transform: uppercase; }.avc-portfolio__description { margin: 0; color: var(--avc-muted); }
.avc-case-study { display: grid; overflow: hidden; margin-bottom: var(--avc-space-3); border: var(--avc-portfolio-border, 1px solid var(--avc-border)); border-radius: var(--avc-portfolio-radius, 1.5rem); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-case-study__media { min-height: var(--avc-case-media-min-height, 18rem); background: var(--avc-primary); }.avc-case-study__media img, .avc-portfolio-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }.avc-case-study__content { padding: var(--avc-space-3); }.avc-case-study__client { margin: 0; color: var(--avc-primary); font-family: var(--avc-font-heading); font-size: var(--avc-case-client-size, 1.5rem); font-weight: var(--avc-weight-semibold, 600); }.avc-case-study__industry, .avc-portfolio-card__industry { margin: var(--avc-space-1) 0; color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); }.avc-case-study__badges, .avc-portfolio-card__badges { display: flex; flex-wrap: wrap; gap: var(--avc-tag-gap, .35rem); padding: 0; margin: var(--avc-space-2) 0; list-style: none; }.avc-case-study__badges li, .avc-portfolio-card__badges li { padding: var(--avc-tag-padding-y, .25rem) var(--avc-tag-padding-x, .5rem); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface-alt); font-size: var(--avc-tag-size, .75rem); font-weight: var(--avc-weight-semibold, 600); transition: transform var(--avc-transition, .35s ease); }.avc-case-study__badges li:hover, .avc-portfolio-card__badges li:hover { transform: translateY(var(--avc-badge-lift, -.2rem)); }.avc-case-study__heading { font-size: var(--avc-case-heading-size, 1.35rem); }.avc-case-study__detail { margin-top: var(--avc-space-2); }.avc-case-study__detail h4 { margin-bottom: var(--avc-space-1); color: var(--avc-primary); font-family: var(--avc-font-body); font-size: var(--avc-text-sm, .875rem); }.avc-case-study__detail p, .avc-case-study__detail ul { margin: 0; color: var(--avc-muted); font-size: var(--avc-text-sm, .875rem); }.avc-case-study__detail ul { padding-left: var(--avc-space-2); }.avc-case-study__actions { display: flex; flex-wrap: wrap; gap: var(--avc-space-1); margin-top: var(--avc-space-3); }.avc-case-study__button { display: inline-flex; min-height: var(--avc-control-size, 2.75rem); align-items: center; justify-content: center; padding-inline: var(--avc-space-2); border: var(--avc-case-button-border, 1px solid transparent); border-radius: var(--avc-radius); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-case-study__button--primary { color: var(--avc-surface); background: var(--avc-primary); }.avc-case-study__button--primary:hover { color: var(--avc-surface); background: var(--avc-secondary); }.avc-case-study__button--secondary { border-color: var(--avc-primary); color: var(--avc-primary); }.avc-case-study__button--secondary:hover { color: var(--avc-surface); background: var(--avc-primary); }.avc-case-study__button:focus-visible, .avc-portfolio-card__link:focus-visible, .avc-portfolio__filter:focus-visible { outline: var(--avc-focus-outline, 3px solid var(--avc-focus)); outline-offset: var(--avc-focus-offset, 3px); }
.avc-case-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--avc-space-1); margin-bottom: var(--avc-space-4); }.avc-case-metrics__item { padding: var(--avc-space-2); border-radius: var(--avc-radius); text-align: center; background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-case-metrics__item strong, .avc-case-metrics__item span { display: block; }.avc-case-metrics__item strong { color: var(--avc-primary); font-family: var(--avc-font-heading); font-size: var(--avc-metric-size, 1.5rem); }.avc-case-metrics__item span { color: var(--avc-muted); font-size: var(--avc-text-sm, .875rem); }
.avc-portfolio__filters { display: flex; flex-wrap: wrap; gap: var(--avc-space-1); margin-bottom: var(--avc-space-3); }.avc-portfolio__filter { padding: var(--avc-space-1) var(--avc-space-2); border: var(--avc-filter-border, 1px solid var(--avc-border)); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface); font: inherit; font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); cursor: pointer; transition: color var(--avc-transition, .35s ease), border-color var(--avc-transition, .35s ease), background var(--avc-transition, .35s ease); }.avc-portfolio__filter:hover, .avc-portfolio__filter--active { border-color: var(--avc-accent); color: var(--avc-surface); background: var(--avc-primary); }.avc-portfolio__grid { display: grid; gap: var(--avc-space-2); grid-template-columns: 1fr; }.avc-portfolio-card { overflow: hidden; border: var(--avc-portfolio-border, 1px solid var(--avc-border)); border-radius: var(--avc-portfolio-radius, 1.5rem); background: var(--avc-surface); box-shadow: var(--avc-shadow); transition: border-color var(--avc-transition, .35s ease), transform var(--avc-transition, .35s ease), box-shadow var(--avc-transition, .35s ease); }.avc-portfolio-card:hover, .avc-portfolio-card:focus-within { border-color: var(--avc-accent); box-shadow: var(--avc-portfolio-hover-shadow, var(--avc-shadow)); transform: translateY(var(--avc-portfolio-lift, -8px)); }.avc-portfolio-card--hidden { display: none; }.avc-portfolio-card__media { aspect-ratio: var(--avc-card-media-ratio, 8 / 5); background: var(--avc-primary); }.avc-portfolio-card__body { display: flex; min-height: var(--avc-portfolio-card-height, 17rem); flex-direction: column; padding: var(--avc-space-2); }.avc-portfolio-card__title { font-size: var(--avc-card-title-size, 1.25rem); }.avc-portfolio-card__description { margin: 0; color: var(--avc-muted); font-size: var(--avc-text-sm, .875rem); }.avc-portfolio-card__link { display: inline-flex; gap: var(--avc-link-gap, .35rem); width: fit-content; margin-top: auto; padding-top: var(--avc-space-2); color: var(--avc-primary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-portfolio-card__link:hover { gap: var(--avc-link-gap-hover, .65rem); color: var(--avc-accent); }
[data-portfolio-reveal] { opacity: 1; transform: none; transition: opacity var(--avc-reveal-duration, .5s) ease, transform var(--avc-reveal-duration, .5s) ease; } .avc-portfolio-has-js [data-portfolio-reveal] { opacity: var(--avc-reveal-opacity, 0); transform: translateY(var(--avc-reveal-offset, 1rem)); } .avc-portfolio-has-js [data-portfolio-reveal].avc-portfolio-is-visible { opacity: 1; transform: translateY(0); }
@media (min-width: 42rem) { .avc-portfolio__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }.avc-case-metrics { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 64rem) { .avc-case-study { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }.avc-case-study__media { min-height: 100%; }.avc-portfolio__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .avc-portfolio-card, .avc-case-study__badges li, .avc-portfolio-card__badges li, [data-portfolio-reveal] { transition: none; }.avc-portfolio-card, [data-portfolio-reveal] { transform: none; opacity: 1; } } .avc-portfolio-archive { overflow: clip; color: var(--avc-text); background: var(--avc-surface-alt); }
.avc-portfolio-archive .l-container { width: min(100% - clamp(2rem, 5vw, 4rem), 82.5rem); }
.avc-portfolio-hero { position: relative; isolation: isolate; padding-block: clamp(3.5rem, 7vw, 6.25rem); background: radial-gradient(circle at 82% 20%, rgb(249 115 22 / 12%), transparent 22rem), linear-gradient(135deg, #f9fbff, #eef5ff 65%, #f5faf8); }
.avc-portfolio-hero__pattern { position: absolute; z-index: -1; inset: 0; opacity: .35; background-image: radial-gradient(rgb(13 45 108 / 20%) 1px, transparent 1px); background-size: 1.6rem 1.6rem; mask-image: linear-gradient(#000, transparent 94%); }.avc-portfolio-hero__grid { display: grid; gap: 2.5rem; align-items: center; }.avc-portfolio-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; color: var(--avc-muted); font-size: .84rem; }.avc-portfolio-breadcrumb a { color: var(--avc-primary); text-decoration: none; }.avc-portfolio-eyebrow { margin: 0 0 .7rem; color: var(--avc-secondary); font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.avc-portfolio-hero h1 { max-width: 16ch; margin: 0; color: var(--avc-primary); font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.02; letter-spacing: -.045em; }.avc-portfolio-hero__content > p:not(.avc-portfolio-eyebrow) { max-width: 58rem; color: var(--avc-muted); font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 1.7; }.avc-portfolio-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }.avc-portfolio-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: .72rem 1.2rem; border: 1px solid transparent; border-radius: .65rem; font-weight: 700; text-decoration: none; }.avc-portfolio-button--primary { color: #fff; background: var(--avc-accent); }.avc-portfolio-button--secondary { border-color: var(--avc-primary); color: var(--avc-primary); background: rgb(255 255 255 / 70%); }.avc-portfolio-button--light { border-color: rgb(255 255 255 / 55%); color: #fff; }.avc-portfolio-hero__visual { position: relative; display: none; min-height: 18rem; border: 1px solid rgb(13 45 108 / 12%); border-radius: 2rem; background: linear-gradient(145deg, rgb(255 255 255 / 75%), rgb(13 139 114 / 9%)); box-shadow: 0 1.5rem 3.5rem rgb(13 45 108 / 10%); }.avc-portfolio-hero__visual span { position: absolute; width: 4.5rem; aspect-ratio: 1; border-radius: 1rem; background: #fff; box-shadow: var(--avc-shadow); }.avc-portfolio-hero__visual span:nth-child(1) { top: 1.5rem; left: 1.5rem; }.avc-portfolio-hero__visual span:nth-child(2) { top: 4.5rem; right: 1.75rem; background: rgb(13 139 114 / 16%); }.avc-portfolio-hero__visual span:nth-child(3) { bottom: 1.5rem; left: 42%; background: rgb(249 115 22 / 14%); }.avc-portfolio-hero__visual svg { position: absolute; inset: 12%; width: 76%; height: 76%; fill: none; stroke: var(--avc-primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.avc-portfolio-featured, .avc-portfolio-listing, .avc-portfolio-technology, .avc-portfolio-cta { padding-block: clamp(3.5rem, 7vw, 6rem); }.avc-portfolio-featured { background: #fff; }.avc-case-featured { display: grid; overflow: hidden; border: 1px solid var(--avc-border); border-radius: 1.75rem; background: #fff; box-shadow: 0 1.35rem 3.5rem rgb(13 45 108 / 11%); transition: transform .25s ease, box-shadow .25s ease; }.avc-case-featured:hover { box-shadow: 0 1.7rem 4rem rgb(13 45 108 / 15%); transform: translateY(-.2rem); }.avc-case-featured__media { min-height: 20rem; background: #e8eef7; }.avc-case-featured__media img, .avc-case-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }.avc-case-featured__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 4vw, 3rem); }.avc-case-featured__industry, .avc-case-card__industry { margin: 0 0 .6rem; color: var(--avc-secondary); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.avc-case-featured h2 { margin: 0; color: var(--avc-primary); font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.08; }.avc-case-featured__excerpt { color: var(--avc-muted); line-height: 1.65; }.avc-case-featured__details { display: grid; gap: .8rem; margin: .8rem 0 1.4rem; }.avc-case-featured__details div { padding: .85rem 1rem; border-left: 3px solid var(--avc-accent); background: var(--avc-surface-alt); }.avc-case-featured__details h3 { margin: 0 0 .3rem; color: var(--avc-primary); font-size: .84rem; }.avc-case-featured__details p { margin: 0; color: var(--avc-muted); font-size: .86rem; line-height: 1.55; }.avc-case-featured .avc-portfolio-button { width: fit-content; }
.avc-portfolio-listing { background: var(--avc-surface-alt); }.avc-portfolio-section-heading h2 { margin: 0; color: var(--avc-primary); font-size: clamp(2rem, 3vw, 3rem); }.avc-portfolio-section-heading > p:last-child { color: var(--avc-muted); line-height: 1.65; }.avc-portfolio-filterbar { display: grid; gap: 1rem; align-items: center; padding: 1rem; margin-bottom: 2rem; border: 1px solid var(--avc-border); border-radius: 1rem; background: #fff; box-shadow: 0 .6rem 1.6rem rgb(13 45 108 / 6%); }.avc-portfolio-filterbar__technologies { display: flex; overflow-x: auto; gap: .5rem; padding-bottom: .2rem; scrollbar-width: thin; }.avc-portfolio-filterbar__technologies a { flex: 0 0 auto; padding: .58rem .85rem; border: 1px solid var(--avc-border); border-radius: 999px; color: var(--avc-primary); background: #fff; font-size: .76rem; font-weight: 700; text-decoration: none; }.avc-portfolio-filterbar__technologies a[aria-current="page"] { border-color: var(--avc-accent); color: #fff; background: var(--avc-primary); }.avc-portfolio-filterbar__industry { display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr) auto; }.avc-portfolio-filterbar select, .avc-portfolio-filterbar button { min-height: 2.75rem; border: 1px solid var(--avc-border); border-radius: .65rem; font: inherit; }.avc-portfolio-filterbar select { min-width: 0; padding-inline: .75rem; color: var(--avc-primary); background: #fff; }.avc-portfolio-filterbar button { padding-inline: 1rem; border-color: var(--avc-primary); color: #fff; background: var(--avc-primary); font-weight: 700; cursor: pointer; }.avc-portfolio-cpt-grid { display: grid; gap: 1.5rem; }.avc-case-card { display: flex; overflow: hidden; min-width: 0; flex-direction: column; border: 1px solid var(--avc-border); border-radius: 1.5rem; background: #fff; box-shadow: 0 .7rem 2rem rgb(13 45 108 / 8%); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }.avc-case-card:hover, .avc-case-card:focus-within { border-color: rgb(249 115 22 / 60%); box-shadow: 0 1.2rem 2.8rem rgb(13 45 108 / 14%); transform: translateY(-.4rem); }.avc-case-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #e8eef7; }.avc-case-card__media img { transition: transform .35s ease; }.avc-case-card:hover .avc-case-card__media img { transform: scale(1.03); }.avc-case-card__content { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }.avc-case-card h3 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.55rem); line-height: 1.2; }.avc-case-card h3 a { color: var(--avc-primary); text-decoration: none; }.avc-case-card__excerpt { display: -webkit-box; overflow: hidden; margin: .8rem 0 0; color: var(--avc-muted); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.avc-portfolio-tags { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 1rem 0; list-style: none; }.avc-portfolio-tags li { padding: .3rem .55rem; border-radius: 999px; color: var(--avc-primary); background: var(--avc-surface-alt); font-size: .7rem; font-weight: 700; }.avc-case-card__link { display: inline-flex; gap: .4rem; width: fit-content; margin-top: auto; padding-top: 1rem; color: var(--avc-primary); font-weight: 700; text-decoration: none; }.avc-case-card__link span { transition: transform .2s ease; }.avc-case-card__link:hover span { transform: translateX(.3rem); }.avc-portfolio-image-fallback { position: relative; display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--avc-primary), #126d78 62%, var(--avc-secondary)); }.avc-portfolio-image-fallback span { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgb(255 255 255 / 28%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 28%) 1px, transparent 1px); background-size: 1.5rem 1.5rem; }.avc-portfolio-image-fallback b { position: relative; font-size: 2.5rem; }.avc-portfolio-archive__empty { padding: 3rem 1.5rem; border: 1px solid var(--avc-border); border-radius: 1.5rem; text-align: center; background: #fff; }.avc-portfolio-archive__empty p { color: var(--avc-muted); }.avc-portfolio-pagination { margin-top: 2.5rem; }.avc-portfolio-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }.avc-portfolio-pagination .page-numbers { display: grid; min-width: 2.7rem; min-height: 2.7rem; place-items: center; padding: .45rem .7rem; border: 1px solid var(--avc-border); border-radius: .65rem; color: var(--avc-primary); background: #fff; font-weight: 700; text-decoration: none; }.avc-portfolio-pagination .current, .avc-portfolio-pagination a:hover { border-color: var(--avc-primary); color: #fff; background: var(--avc-primary); }
.avc-portfolio-technology { background: #fff; }.avc-portfolio-technology ul { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }.avc-portfolio-technology li { padding: .9rem 1rem; border: 1px solid var(--avc-border); border-radius: .85rem; color: var(--avc-primary); background: linear-gradient(145deg, #fff, #f3f7fb); font-weight: 700; text-align: center; box-shadow: 0 .4rem 1rem rgb(13 45 108 / 6%); }.avc-portfolio-cta { color: #fff; background: radial-gradient(circle at 85% 15%, rgb(13 139 114 / 35%), transparent 28%), linear-gradient(135deg, #071a40, var(--avc-primary)); }.avc-portfolio-cta__inner { max-width: 66rem; }.avc-portfolio-cta h2 { margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3.5rem); }.avc-portfolio-cta__inner > p:not(.avc-portfolio-eyebrow) { max-width: 48rem; color: rgb(255 255 255 / 78%); font-size: 1.06rem; line-height: 1.7; }
.avc-portfolio-archive a:focus-visible, .avc-portfolio-archive select:focus-visible, .avc-portfolio-archive button:focus-visible { outline: var(--avc-focus-outline, 3px solid var(--avc-focus)); outline-offset: var(--avc-focus-offset, 3px); }
@media (min-width: 42rem) { .avc-case-featured__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }.avc-portfolio-cpt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.avc-portfolio-technology ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .avc-portfolio-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(16rem, 3fr); }.avc-portfolio-hero__visual { display: block; }.avc-case-featured { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }.avc-case-featured__media { min-height: 100%; }.avc-portfolio-filterbar { grid-template-columns: minmax(0, 1fr) auto; }.avc-portfolio-filterbar__industry { min-width: 21rem; }.avc-portfolio-cpt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 41.99rem) { .avc-portfolio-actions { flex-direction: column; }.avc-portfolio-button { width: 100%; }.avc-case-featured .avc-portfolio-button { width: 100%; }.avc-portfolio-filterbar__industry { grid-template-columns: 1fr; }.avc-portfolio-pagination .nav-links { justify-content: center; } } .avc-portfolio-tabs { min-width: 0; margin-bottom: 2rem; }
.avc-portfolio-tabs__primary, .avc-portfolio-tabs__secondary-group { display: flex; flex-wrap: wrap; gap: .65rem; }
.avc-portfolio-tabs__secondary { padding: 1rem; margin-top: .8rem; border: 1px solid var(--avc-border); border-radius: 1rem; background: #fff; box-shadow: 0 .5rem 1.4rem rgb(13 45 108 / 7%); }
.avc-portfolio-tabs__secondary[hidden], .avc-portfolio-tabs__secondary-group[hidden], .avc-portfolio-filter-empty[hidden], .avc-case-card[hidden] { display: none; }
.avc-portfolio-tab, .avc-portfolio-subtab { flex: 0 0 auto; min-height: 2.75rem; padding: .65rem 1.2rem; border: 1px solid var(--avc-border); border-radius: 999px; color: var(--avc-primary); background: #fff; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.avc-portfolio-subtab { min-height: 2.35rem; padding: .45rem .85rem; font-size: .75rem; }
.avc-portfolio-tab:hover, .avc-portfolio-subtab:hover { border-color: var(--avc-accent); transform: translateY(-1px); }
.avc-portfolio-tab.is-active, .avc-portfolio-subtab.is-active { border-color: var(--avc-accent); color: #fff; background: var(--avc-primary); box-shadow: 0 0 0 2px rgb(249 115 22 / 13%), 0 .4rem 1rem rgb(13 45 108 / 12%); }
.avc-portfolio-tab:focus-visible, .avc-portfolio-subtab:focus-visible, .avc-portfolio-filter-empty button:focus-visible { outline: 3px solid var(--avc-focus, #f97316); outline-offset: 3px; }
.avc-portfolio-filter-empty { padding: 1.5rem; margin-top: 1rem; border: 1px solid var(--avc-border); border-radius: 1rem; text-align: center; background: #fff; }
.avc-portfolio-filter-empty p { margin: 0 0 .8rem; color: var(--avc-muted); }
.avc-portfolio-filter-empty button { min-height: 2.65rem; padding: .55rem 1rem; border: 1px solid var(--avc-accent); border-radius: .7rem; color: #fff; background: var(--avc-primary); font: inherit; font-weight: 700; cursor: pointer; }
.avc-portfolio-has-js .avc-case-card:not([hidden]) { animation: avc-case-filter-in .2s ease both; }
@keyframes avc-case-filter-in { from { opacity: .45; transform: translateY(.35rem); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 41.99rem) { .avc-portfolio-tabs__primary { overflow-x: auto; flex-wrap: nowrap; max-width: 100%; padding: .2rem .15rem .65rem; scrollbar-width: thin; overscroll-behavior-inline: contain; }.avc-portfolio-tabs__secondary { overflow: hidden; }.avc-portfolio-tabs__secondary-group { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) { .avc-portfolio-tab, .avc-portfolio-subtab { transition: none; }.avc-portfolio-tab:hover, .avc-portfolio-subtab:hover { transform: none; }.avc-portfolio-has-js .avc-case-card:not([hidden]) { animation: none; } }
@media (prefers-reduced-motion: reduce) { .avc-case-featured, .avc-case-card, .avc-case-card__media img, .avc-case-card__link span { transition: none; } }.avc-portfolio-archive, .avc-case-study-single { padding-block: var(--avc-space-5); background: var(--avc-surface-alt); }.avc-portfolio-cpt-hero { max-width: var(--avc-reading); padding-block: var(--avc-space-4); }.avc-portfolio-cpt-hero > p:first-child, .avc-case-eyebrow { color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-transform: uppercase; letter-spacing: var(--avc-tracking, .08em); }.avc-portfolio-cpt-filters { display: flex; flex-wrap: wrap; gap: var(--avc-space-1); margin-bottom: var(--avc-space-3); }.avc-portfolio-cpt-filters button { padding: var(--avc-space-1) var(--avc-space-2); border: var(--avc-filter-border, 1px solid var(--avc-border)); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface); font: inherit; font-weight: var(--avc-weight-semibold, 600); cursor: pointer; }.avc-portfolio-cpt-filters button[aria-pressed="true"], .avc-portfolio-cpt-filters button:hover { color: var(--avc-surface); border-color: var(--avc-accent); background: var(--avc-primary); }.avc-portfolio-cpt-filters button:focus-visible, .avc-case-card a:focus-visible { outline: var(--avc-focus-outline, 3px solid var(--avc-focus)); outline-offset: var(--avc-focus-offset, 3px); }.avc-portfolio-cpt-grid { display: grid; gap: var(--avc-space-2); }.avc-case-card { overflow: hidden; border: var(--avc-case-border, 1px solid var(--avc-border)); border-radius: var(--avc-case-radius, 1.5rem); background: var(--avc-surface); box-shadow: var(--avc-shadow); transition: transform var(--avc-transition, .35s ease), border-color var(--avc-transition, .35s ease); }.avc-case-card:hover { border-color: var(--avc-accent); transform: translateY(var(--avc-case-lift, -8px)); }.avc-case-card--hidden { display: none; }.avc-case-card > img { width: 100%; aspect-ratio: var(--avc-case-media-ratio, 8 / 5); object-fit: cover; transition: transform var(--avc-transition, .35s ease); }.avc-case-card:hover > img { transform: scale(var(--avc-case-image-zoom, 1.04)); }.avc-case-card > div { padding: var(--avc-space-2); }.avc-case-card p { color: var(--avc-muted); }.avc-case-card ul, .avc-case-hero ul, .avc-case-technologies ul { display: flex; flex-wrap: wrap; gap: var(--avc-tag-gap, .35rem); padding: 0; list-style: none; }.avc-case-card li, .avc-case-hero li, .avc-case-technologies li { padding: var(--avc-tag-padding-y, .25rem) var(--avc-tag-padding-x, .5rem); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface-alt); font-size: var(--avc-tag-size, .75rem); }.avc-case-card a, .avc-case-related a { color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }
.avc-case-hero, .avc-case-cta { padding-block: var(--avc-space-5); color: var(--avc-surface); background: linear-gradient(var(--avc-primary), var(--avc-secondary)); }.avc-case-hero nav { margin-bottom: var(--avc-space-3); font-size: var(--avc-text-sm, .875rem); }.avc-case-hero nav a { color: inherit; }.avc-case-hero__grid { display: grid; gap: var(--avc-space-3); align-items: center; }.avc-case-hero h1 { color: inherit; font-size: clamp(2.25rem, 6vw, 4.25rem); }.avc-case-hero img { width: 100%; border-radius: var(--avc-case-radius, 1.5rem); }.avc-case-button { display: inline-flex; min-height: var(--avc-control-size, 2.75rem); align-items: center; margin-top: var(--avc-space-2); padding-inline: var(--avc-space-2); border: var(--avc-case-button-border, 1px solid transparent); border-radius: var(--avc-radius); color: var(--avc-surface); background: var(--avc-accent); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-case-button--outline { margin-left: var(--avc-space-1); border-color: var(--avc-surface); background: transparent; }.avc-case-section { padding-block: var(--avc-space-5); }.avc-case-section:nth-of-type(even) { background: var(--avc-surface); }.avc-case-reading { max-width: var(--avc-content); }.avc-case-architecture { display: grid; gap: var(--avc-space-1); grid-template-columns: repeat(2, 1fr); padding: var(--avc-space-3); border-radius: var(--avc-case-radius, 1.5rem); background: var(--avc-primary); }.avc-case-architecture span, .avc-case-implementation li, .avc-case-results li, .avc-case-related a { padding: var(--avc-space-2); border-radius: var(--avc-radius); background: var(--avc-surface); }.avc-case-implementation, .avc-case-results { display: grid; gap: var(--avc-space-1); padding: 0; list-style: none; }.avc-case-gallery { display: grid; gap: var(--avc-space-1); grid-template-columns: repeat(2, 1fr); }.avc-case-gallery button { padding: 0; border: 0; background: transparent; cursor: zoom-in; }.avc-case-gallery img { width: 100%; height: 100%; object-fit: cover; }.avc-case-testimonial { padding: var(--avc-space-3); border-radius: var(--avc-case-radius, 1.5rem); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-case-testimonial p { font-size: var(--avc-case-quote-size, 1.25rem); }.avc-case-testimonial footer { color: var(--avc-muted); }.avc-case-related { display: grid; gap: var(--avc-space-1); }.avc-case-cta { text-align: center; }.avc-case-cta h2 { color: inherit; }.avc-case-cta p { max-width: var(--avc-reading); margin-inline: auto; }
.avc-case-hero__media { min-width: 0; }.avc-case-hero__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: var(--avc-surface); }
.avc-case-hero--visual { display: flex; min-height: 34rem; align-items: center; background-color: #4b2518; background-image: linear-gradient(90deg, rgb(4 22 54 / 88%) 0%, rgb(4 22 54 / 68%) 34%, rgb(4 22 54 / 12%) 62%, transparent 100%), var(--avc-case-banner); background-position: center; background-repeat: no-repeat; background-size: cover; }
.avc-case-hero--visual .avc-case-hero__grid { grid-template-columns: minmax(0, 34rem); }.avc-case-hero--visual .avc-case-hero__grid > div { padding: var(--avc-space-3); border-radius: var(--avc-case-radius, 1.5rem); background: rgb(4 22 54 / 38%); backdrop-filter: blur(2px); }
@media (min-width: 42rem) { .avc-portfolio-cpt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.avc-case-architecture { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 64rem) { .avc-portfolio-cpt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.avc-case-hero__grid { grid-template-columns: 1fr 1fr; }.avc-case-hero--visual { aspect-ratio: var(--avc-case-banner-ratio); }.avc-case-hero--visual .avc-case-hero__grid { grid-template-columns: minmax(0, 34rem); }.avc-case-architecture { grid-template-columns: repeat(5, 1fr); } }
.avc-case-lightbox { max-width: min(var(--avc-lightbox-width, 70rem), 92vw); padding: var(--avc-space-1); border: 0; background: var(--avc-primary); }.avc-case-lightbox::backdrop { background: var(--avc-lightbox-overlay, rgb(0 0 0 / 75%)); }.avc-case-lightbox img { display: block; max-width: 100%; max-height: 80vh; }.avc-case-lightbox button { display: block; margin-left: auto; border: 0; color: var(--avc-surface); background: transparent; font-size: var(--avc-lightbox-close-size, 2rem); cursor: pointer; }
.avc-portfolio-cpt-filters a, .avc-portfolio-cpt-industry select, .avc-portfolio-cpt-industry button { padding: var(--avc-space-1) var(--avc-space-2); border: var(--avc-filter-border, 1px solid var(--avc-border)); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface); font: inherit; font-weight: var(--avc-weight-semibold, 600); text-decoration: none; }.avc-portfolio-cpt-filters a[aria-current="page"], .avc-portfolio-cpt-filters a:hover { color: var(--avc-surface); border-color: var(--avc-accent); background: var(--avc-primary); }.avc-portfolio-cpt-industry { display: flex; flex-wrap: wrap; align-items: center; gap: var(--avc-space-1); margin-bottom: var(--avc-space-3); }.avc-case-overview dl { display: grid; gap: var(--avc-space-1); grid-template-columns: repeat(2, minmax(0, 1fr)); }.avc-case-overview dl div { padding: var(--avc-space-2); border-radius: var(--avc-radius); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-case-overview dt { color: var(--avc-muted); font-size: var(--avc-text-sm, .875rem); }.avc-case-overview dd { margin: var(--avc-space-1) 0 0; color: var(--avc-primary); font-weight: var(--avc-weight-semibold, 600); }