.axb-avatar { position: relative; display: inline-flex; flex: none; width: var(--axb-avatar-size, 44px); height: var(--axb-avatar-size, 44px); border-radius: 50%; overflow: hidden; background: var(--bg-brand); color: var(--fg-on-brand); text-decoration: none; box-shadow: 0 0 0 2px var(--bg-default), 0 0 0 3px var(--brand-accent); }
.axb-avatar__img { position: absolute; inset: 0; background-size: cover; background-position: center; }
.axb-avatar__initials { margin: auto; font-family: var(--font-title-md-family); font-weight: 700; font-size: calc(var(--axb-avatar-size, 44px) * .38); text-transform: uppercase; }

.axb-badge { display: inline-flex; align-items: center; min-height: 22px; padding: .15rem .5rem; border-radius: var(--border-radius-sm); background: var(--bg-accent); color: var(--fg-on-accent); font-family: var(--font-label-sm-family); font-size: var(--font-label-sm-size); font-weight: 700; letter-spacing: var(--font-label-sm-letter-spacing); text-transform: uppercase; line-height: 1.2; }

.axb-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 46px; padding: .7rem 1.35rem; border-radius: var(--border-radius-sm); font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); font-weight: 650; line-height: 1.1; text-decoration: none; cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.axb-btn:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-btn--primary { background: var(--brand-primary); color: var(--fg-on-inverse); border: 1.5px solid var(--brand-primary); }
.axb-btn--primary:hover { background: var(--brand-primary-hover); border-color: var(--brand-primary-hover); color: var(--fg-on-inverse); }
.block--tone-inverse .axb-btn--primary, .axb-on-dark .axb-btn--primary { background: var(--brand-accent); border-color: var(--brand-accent); color: #0A2240; }
.block--tone-inverse .axb-btn--primary:hover, .axb-on-dark .axb-btn--primary:hover { background: var(--brand-accent-hover); border-color: var(--brand-accent-hover); }

.axb-btn--secondary { background: transparent; color: var(--brand-primary); border: 1.5px solid var(--brand-primary); }
.axb-btn--secondary:hover { background: var(--brand-primary); color: var(--fg-on-inverse); }
.block--tone-inverse .axb-btn--secondary, .axb-on-dark .axb-btn--secondary { color: var(--fg-on-default); border-color: currentColor; }
.block--tone-inverse .axb-btn--secondary:hover, .axb-on-dark .axb-btn--secondary:hover { background: var(--fg-on-default); color: var(--bg-default); }

.axb-link-arrow { display: inline-flex; align-items: center; gap: .45em; font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); font-weight: 650; color: var(--brand-primary); text-decoration: none; padding-bottom: 2px; background: linear-gradient(var(--brand-secondary), var(--brand-secondary)) 0 100% / 100% 1.5px no-repeat; transition: background-size .2s ease, color .18s ease; }
.axb-link-arrow::after { content: '\2192'; transition: transform .18s ease; }
.axb-link-arrow:hover { color: var(--brand-secondary); }
.axb-link-arrow:hover::after { transform: translateX(3px); }
.axb-link-arrow:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.block--tone-inverse .axb-link-arrow { color: var(--fg-on-default); background-image: linear-gradient(var(--brand-accent), var(--brand-accent)); }

.axb-chip { display: inline-flex; align-items: center; min-height: 34px; padding: .3rem .8rem; border: 1px solid var(--border-color-strong); border-radius: var(--border-radius-sm); background: transparent; color: var(--fg-on-default); font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); font-weight: 600; cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.axb-chip:hover { border-color: var(--brand-primary); }
.axb-chip[aria-pressed="true"] { background: var(--brand-primary); border-color: var(--brand-primary); color: var(--fg-on-inverse); }
.axb-chip:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }

.axb-figure--anim img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.axb-figure--anim:hover img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .axb-figure--anim img { transition: none; } .axb-figure--anim:hover img { transform: none; } }

.axb-figure { margin: 0; border-radius: var(--border-radius-md); overflow: hidden; background: var(--bg-subtle); }
.axb-figure img { display: block; width: 100%; height: auto; }

.axb-zoom__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.axb-zoom__btn img { display: block; width: 100%; height: auto; }
.axb-zoom__btn:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-zoom-overlay { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 4vmin; background: rgba(6,18,34,.88); cursor: zoom-out; }
.axb-zoom-overlay.is-open { display: flex; }
.axb-zoom-overlay img { max-width: 100%; max-height: 100%; border-radius: var(--border-radius-sm); }
.axb-zoom-overlay__close { position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; border: 0; border-radius: var(--border-radius-sm); background: rgba(255,255,255,.12); color: #fff; font-size: 1.1rem; cursor: pointer; }

.axb-phone__btn, .axb-phone__link { display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: .55rem 1rem; border: 1.5px solid var(--brand-primary); border-radius: var(--border-radius-sm); background: transparent; color: var(--brand-primary); font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); font-weight: 650; text-decoration: none; cursor: pointer; }
.axb-phone__link { background: var(--brand-primary); color: var(--fg-on-inverse); font-variant-numeric: tabular-nums; }
.axb-phone__btn:focus-visible, .axb-phone__link:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }

.axb-pill { display: inline-flex; align-items: center; min-height: 30px; padding: .25rem .7rem; border: 1px solid var(--border-color-default); border-radius: var(--border-radius-sm); background: var(--bg-surface-low); color: var(--fg-secondary); font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); font-weight: 600; line-height: 1.2; }

.axb-quote { margin: 2rem 0; padding: .2rem 0 .2rem 1.4rem; border-left: 3px solid var(--brand-secondary); }
.axb-quote p { margin: 0; font-family: var(--font-body-lg-family); font-size: 1.3rem; font-style: italic; line-height: 1.5; color: var(--fg-on-default); }
.axb-quote footer { margin-top: .7rem; font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); color: var(--fg-secondary); }
.axb-quote cite { font-style: normal; }
.axb-quote cite::before { content: '\2014\00a0'; color: var(--brand-secondary); }

.axb-progress { --progress: 0; }
.axb-progress__bar { display: block; height: 100%; width: calc(var(--progress) * 1%); background: var(--brand-secondary); }
.axb-progress[data-variant="overlay-top"] { position: fixed; top: 0; left: 0; right: 0; z-index: 900; height: 3px; pointer-events: none; }
.axb-progress[data-variant="inline-content"] { position: sticky; top: 0; z-index: 5; height: 3px; background: var(--border-color-muted); }
.axb-progress__value { display: none; }
.axb-progress[data-variant="sidebar"] { height: 3px; background: var(--border-color-default); margin-bottom: 1.6rem; }
.axb-progress[data-variant="sidebar"] .axb-progress__value { display: block; margin-top: .5rem; font-family: var(--font-label-sm-family); font-size: var(--font-label-sm-size); color: var(--fg-secondary); font-variant-numeric: tabular-nums; }

.axb-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 800; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--border-color-default); border-radius: var(--border-radius-sm); background: var(--bg-surface-low); color: var(--brand-primary); font-size: 1.1rem; box-shadow: var(--shadow-md); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.axb-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.axb-top:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .axb-top { transition: none; } }

.axb-search { display: flex; align-items: stretch; width: 100%; border: 1px solid var(--border-color-strong); border-radius: var(--border-radius-sm); background: var(--bg-surface-low); overflow: hidden; }
.axb-search:focus-within { border-color: var(--brand-primary); box-shadow: 0 0 0 3px var(--bg-brand); }
.axb-search__input { flex: 1; min-width: 0; height: 44px; padding: 0 .9rem; border: 0; background: transparent; color: var(--fg-on-default); font-family: var(--font-body-md-family); font-size: 1rem; outline: none; }
.axb-search__input::placeholder { color: var(--fg-secondary); }
.axb-search__btn { flex: none; width: 46px; border: 0; background: var(--brand-primary); color: var(--fg-on-inverse); font-size: 1.05rem; cursor: pointer; }
.axb-search__btn:hover { background: var(--brand-primary-hover); }

.axb-card { min-width: 0; }
.axb-card__link { display: flex; flex-direction: column; gap: .9rem; height: 100%; color: inherit; text-decoration: none; }
.axb-card__link:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-card__media { display: block; aspect-ratio: 3 / 2; border-radius: var(--border-radius-md); overflow: hidden; background: var(--bg-subtle); }
.axb-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.axb-card__media--empty { background: repeating-linear-gradient(115deg, transparent 0 22px, rgba(214,180,130,.22) 22px 24px), var(--bg-inverse); }
.axb-card__body { display: flex; flex-direction: column; gap: .45rem; }
.axb-card__title { font-family: var(--font-title-lg-family); font-size: var(--font-title-lg-size); font-weight: 700; line-height: var(--font-title-lg-line-height); letter-spacing: var(--font-title-lg-letter-spacing); color: var(--fg-on-default); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: text-decoration-color .18s ease; }
.axb-card__excerpt { font-family: var(--font-body-sm-family); font-size: var(--font-body-sm-size); line-height: var(--font-body-sm-line-height); color: var(--fg-secondary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.axb-card__link:hover .axb-card__title { text-decoration-color: var(--brand-secondary); }
.axb-card__link:hover .axb-card__media img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .axb-card__media img { transition: none; } .axb-card__link:hover .axb-card__media img { transform: none; } }

.axb-ccard { position: relative; display: grid; grid-template-columns: 4.5rem 1fr; grid-template-rows: auto auto; column-gap: 1rem; align-items: center; padding: .7rem .9rem .7rem .7rem; border-top: 1px solid var(--border-color-default); color: inherit; text-decoration: none; transition: background-color .18s ease; }
.axb-ccard:hover { background: var(--bg-surface-low); }
.axb-ccard:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-ccard__media { grid-row: 1 / span 2; aspect-ratio: 1; border-radius: var(--border-radius-sm); overflow: hidden; background: var(--bg-subtle); }
.axb-ccard__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.axb-ccard__title { align-self: end; font-family: var(--font-title-lg-family); font-size: var(--font-title-lg-size); font-weight: 700; line-height: 1.2; color: var(--fg-on-default); }
.axb-ccard__count { align-self: start; margin-top: .2rem; font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); color: var(--brand-secondary); font-variant-numeric: tabular-nums; }
.axb-ccard:not(:has(.axb-ccard__media)) { grid-template-columns: 1fr; padding-left: 0; }

.axb-pcard__link { display: flex; flex-direction: column; gap: .7rem; height: 100%; padding: 1rem; border: 1px solid var(--border-color-default); border-radius: var(--border-radius-md); background: var(--bg-surface-low); color: inherit; text-decoration: none; transition: border-color .18s ease; }
.axb-pcard__link:hover { border-color: var(--brand-primary); }
.axb-pcard__link:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-pcard__media { display: grid; place-items: center; aspect-ratio: 1; background: #fff; border-radius: var(--border-radius-sm); }
.axb-pcard__media img { max-width: 86%; max-height: 86%; object-fit: contain; }
.axb-pcard__title { font-family: var(--font-title-md-family); font-size: var(--font-title-md-size); font-weight: 700; line-height: 1.3; color: var(--fg-on-default); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.axb-pcard__price { margin-top: auto; font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); color: var(--fg-secondary); }
.axb-pcard__price strong { color: var(--brand-primary); font-size: 1.15rem; font-variant-numeric: tabular-nums; }

.axb-faq { border-bottom: 1px solid var(--border-color-default); }
.axb-faq__q { position: relative; display: block; padding: 1.15rem 2.8rem 1.15rem 0; font-family: var(--font-title-lg-family); font-size: var(--font-title-lg-size); font-weight: 700; line-height: 1.3; color: var(--fg-on-default); cursor: pointer; list-style: none; }
.axb-faq__q::-webkit-details-marker { display: none; }
.axb-faq__q::before, .axb-faq__q::after { content: ''; position: absolute; right: .4rem; top: 50%; width: 14px; height: 2px; background: var(--brand-secondary); transition: transform .2s ease; }
.axb-faq__q::after { transform: rotate(90deg); }
.axb-faq[open] > .axb-faq__q::after { transform: rotate(0); }
.axb-faq__q:hover { color: var(--brand-primary); }
.axb-faq__q:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.axb-faq__a { padding: 0 2.8rem 1.3rem 0; font-family: var(--font-body-md-family); font-size: var(--font-body-md-size); line-height: var(--font-body-md-line-height); color: var(--fg-secondary); }
.axb-faq__a > :first-child { margin-top: 0; }
.axb-faq__a > :last-child { margin-bottom: 0; }
.axb-faq__a a { color: var(--brand-primary); }

.axb-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.2rem; }
.axb-form__field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.axb-form__field--wide { grid-column: 1 / -1; }
.axb-form__label { font-family: var(--font-label-md-family); font-size: var(--font-label-md-size); font-weight: 600; color: var(--fg-on-default); }
.axb-form__label em { font-style: normal; font-weight: 500; color: var(--fg-secondary); margin-left: .3em; }
.axb-form input, .axb-form textarea { width: 100%; box-sizing: border-box; min-height: 46px; padding: .7rem .85rem; border: 1px solid var(--border-color-strong); border-radius: var(--border-radius-sm); background: var(--bg-surface-low); color: var(--fg-on-default); font-family: var(--font-body-md-family); font-size: 1rem; line-height: 1.4; }
.axb-form textarea { resize: vertical; min-height: 9rem; }
.axb-form input:focus, .axb-form textarea:focus { outline: none; border-color: var(--brand-primary); box-shadow: 0 0 0 3px var(--bg-brand); }
.axb-form__hp { position: absolute; left: -9999px; height: 0; width: 0; overflow: hidden; }
.axb-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 1.4rem; }
.axb-form__status { margin: 0; font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); color: var(--fg-secondary); }
.axb-form__status[data-state="success"] { color: var(--color-success); }
.axb-form__status[data-state="error"] { color: var(--color-error); }
@media (max-width: 640px) { .axb-form__grid { grid-template-columns: 1fr; } }

.axb-popin--conversion .axb-popin__panel { border-top: 4px solid var(--brand-secondary); }
.axb-popin__proof { margin: -.4rem 0 1.2rem; padding-left: .9rem; border-left: 2px solid var(--brand-accent); font-family: var(--font-body-sm-family); font-size: var(--font-body-sm-size); font-style: italic; color: var(--fg-secondary); }

.axb-popin--news-top { inset: 0 0 auto 0; padding: 0; }
.axb-popin--news-top .axb-popin__backdrop { display: none; }
.axb-popin--news-top .axb-popin__panel { width: 100%; border-radius: 0; padding: 1rem 3.5rem 1rem 1.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; background: var(--bg-inverse); color: var(--fg-on-inverse); }
.axb-popin--news-top .axb-popin__title, .axb-popin--news-top .axb-popin__arg { margin: 0; }
.axb-popin--news-top .axb-popin__arg { color: inherit; opacity: .8; }
.axb-popin--news-top .axb-popin__kicker { display: none; }
.axb-popin--news-top .axb-popin__close { color: inherit; }

.axb-popin { position: fixed; inset: 0; z-index: 950; display: flex; align-items: center; justify-content: center; padding: 1rem; pointer-events: none; }
.axb-popin[hidden] { display: none; }
.axb-popin__backdrop { position: absolute; inset: 0; background: rgba(6,18,34,.6); opacity: 0; transition: opacity .2s ease; pointer-events: auto; }
.axb-popin__panel { position: relative; width: min(30rem, 100%); padding: 2rem; border-radius: var(--border-radius-lg); background: var(--bg-default); color: var(--fg-on-default); box-shadow: var(--shadow-lg); opacity: 0; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; pointer-events: auto; }
.axb-popin.is-open .axb-popin__backdrop { opacity: 1; }
.axb-popin.is-open .axb-popin__panel { opacity: 1; transform: none; }
.axb-popin__close { position: absolute; top: .7rem; right: .7rem; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: var(--border-radius-sm); background: transparent; color: var(--fg-secondary); font-size: 1rem; cursor: pointer; }
.axb-popin__close:hover { background: var(--bg-subtle); color: var(--fg-on-default); }
.axb-popin__kicker { display: block; margin-bottom: .6rem; font-family: var(--font-label-sm-family); font-size: var(--font-label-sm-size); font-weight: 700; letter-spacing: var(--font-label-sm-letter-spacing); text-transform: uppercase; color: var(--brand-secondary); }
.axb-popin__title { margin: 0 2rem .6rem 0; font-family: var(--font-headline-sm-family); font-size: var(--font-headline-sm-size); font-weight: 700; line-height: 1.2; color: inherit; }
.axb-popin__arg { margin: 0 0 1.2rem; font-family: var(--font-body-md-family); line-height: 1.55; color: var(--fg-secondary); }
.axb-popin__form { display: flex; gap: .5rem; flex-wrap: wrap; }
.axb-popin__form input { flex: 1 1 12rem; min-height: 46px; padding: 0 .85rem; border: 1px solid var(--border-color-strong); border-radius: var(--border-radius-sm); background: var(--bg-surface-low); color: var(--fg-on-default); font: inherit; }
.axb-popin__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
@media (prefers-reduced-motion: reduce) { .axb-popin__backdrop, .axb-popin__panel { transition: none; } }

.axb-popin--news-corner { inset: auto 1rem 1rem auto; padding: 0; }
.axb-popin--news-corner .axb-popin__backdrop { display: none; }
.axb-popin--news-corner .axb-popin__panel { width: min(24rem, calc(100vw - 2rem)); padding: 1.5rem; }

.axb-popin--notif { inset: auto 1rem 1rem auto; padding: 0; }
.axb-popin--notif .axb-popin__backdrop { display: none; }
.axb-popin--notif .axb-popin__panel { width: min(23rem, calc(100vw - 2rem)); padding: 1.5rem; }

.axb-reas { display: flex; flex-wrap: wrap; gap: .6rem 2rem; margin: 0; padding: 1rem 0; list-style: none; border-top: 1px solid var(--border-color-default); border-bottom: 1px solid var(--border-color-default); }
.axb-reas li { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); font-weight: 600; color: var(--fg-on-default); }
.axb-reas .axb-ico { color: var(--brand-secondary); }

.axb-reasg { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.6rem 2rem; margin: 0; padding: 0; list-style: none; }
.axb-reasg li { padding-top: 1rem; border-top: 2px solid var(--brand-secondary); }
.axb-reasg strong { display: block; font-family: var(--font-title-lg-family); font-size: var(--font-title-lg-size); color: var(--fg-on-default); }
.axb-reasg span { display: block; margin-top: .45rem; font-family: var(--font-body-sm-family); font-size: var(--font-body-sm-size); line-height: var(--font-body-sm-line-height); color: var(--fg-secondary); }

.axb-social ul { display: flex; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.axb-social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--border-color-strong); border-radius: var(--border-radius-sm); color: var(--fg-on-default); text-decoration: none; transition: background-color .18s ease, color .18s ease; }
.axb-social a:hover { background: var(--brand-primary); border-color: var(--brand-primary); color: var(--fg-on-inverse); }

.axb-testi { margin: 0; padding: 1.6rem 0 0; border-top: 3px solid var(--brand-secondary); }
.axb-testi__quote { margin: 0; }
.axb-testi__quote p { margin: 0; font-family: var(--font-body-lg-family); font-size: var(--font-body-lg-size); font-style: italic; line-height: 1.55; color: var(--fg-on-default); }
.axb-testi__who { display: flex; align-items: center; gap: .8rem; margin-top: 1.1rem; font-family: var(--font-label-lg-family); font-size: var(--font-label-lg-size); }
.axb-testi__who strong { display: block; color: var(--fg-on-default); }
.axb-testi__who span span { display: block; margin-top: .15rem; font-size: var(--font-label-md-size); color: var(--fg-secondary); }
.axb-testi__avatar { width: 42px; height: 42px; border-radius: 50%; background-size: cover; background-position: center; }
