.ariva-reviews { --review-width:500px; --review-gap:32px; padding-block:112px; overflow:hidden; background:#f7f7f5; color:#2f3133; font-family:"Avenir",sans-serif; }
.ariva-reviews__shell { width:calc(100% - 48px); max-width:1200px; margin-inline:auto; }
.ariva-reviews__header { margin-bottom:64px; text-align:center; }
.ariva-reviews .ariva-reviews__eyebrow { margin:0 0 24px; color:#4e6477; font-size:12px; font-weight:500; letter-spacing:.22em; line-height:1.5; }
.ariva-reviews h2 { margin:0 0 24px; font-family:"Classico",sans-serif; font-size:clamp(40px,5vw,72px); font-weight:200; line-height:1.12; }
.ariva-reviews .ariva-reviews__subheading { margin:0; color:#4a4e51; font-size:20px; font-weight:200; line-height:1.5; }
.ariva-reviews__track { display:flex; align-items:stretch; gap:var(--review-gap); overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:16px max(24px,calc((100% - var(--review-width))/2)) 28px; }
.ariva-reviews__track::-webkit-scrollbar { display:none; }
.ariva-reviews__track:focus-visible { outline:2px solid #4e6477; outline-offset:-3px; }
.ariva-reviews .ariva-reviews__card { display:flex; flex:0 0 var(--review-width); flex-direction:column; min-height:480px; margin:0; padding:44px; background:#fff; scroll-snap-align:center; opacity:.5; transform:scale(.82); transition:transform .6s ease-out,opacity .6s ease-out,box-shadow .6s ease-out; }
.ariva-reviews__card.is-active { opacity:1; transform:scale(1); box-shadow:0 24px 60px rgba(47,49,51,.12); }
.ariva-reviews--landing .ariva-reviews__card:nth-child(3) { scroll-initial-target:nearest; }
.ariva-reviews__card blockquote { margin:0 0 28px; padding:0; border:0; }
.ariva-reviews__quote { display:block; height:68px; color:#4e6477; font:96px/1 Georgia,serif; }
.ariva-reviews .ariva-reviews__card blockquote p { margin:0; font-family:"Classico",sans-serif; font-size:24px; font-weight:200; line-height:1.45; }
.ariva-reviews__card figcaption { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:20px; border-top:1px solid #aebabe; font-size:17px; line-height:1.5; }
.ariva-reviews__source { color:#4e6477; font-size:11px; font-weight:500; letter-spacing:.22em; text-align:right; }
.ariva-reviews__controls { display:flex; align-items:center; justify-content:center; gap:12px; }
.ariva-reviews__controls[hidden] { display:none; }
.ariva-reviews__controls--landing { margin-top:48px; gap:32px; }
.ariva-reviews button { color:#2f3133; cursor:pointer; border-radius:0; box-shadow:none; }
.ariva-reviews__arrow { display:grid; place-items:center; flex:0 0 56px; width:56px; height:56px; padding:0; border:1px solid #2f3133; background:transparent; font:300 24px/1 "Avenir",sans-serif; }
.ariva-reviews__arrow:hover:not(:disabled) { background:#2f3133; color:#fff; }
.ariva-reviews__arrow:disabled { opacity:.3; cursor:default; }
.ariva-reviews button:focus-visible { outline:2px solid #4e6477; outline-offset:4px; }
.ariva-reviews__indicators { display:flex; gap:8px; }
.ariva-reviews__indicators button { display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0; border:0; background:transparent; }
.ariva-reviews__indicators span { width:100%; height:2px; background:#c9cccc; }
.ariva-reviews__indicators [aria-current="true"] span { background:#2f3133; }
.ariva-reviews--home { --review-width:460px; --review-gap:28px; background:#fff; }
.ariva-reviews--home .ariva-reviews__header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; text-align:left; }
.ariva-reviews--home .ariva-reviews__subheading { max-width:620px; }
.ariva-reviews--home .ariva-reviews__track { padding-inline:max(24px,calc((100% - 1200px)/2)); scroll-padding-inline:max(24px,calc((100% - 1200px)/2)); mask-image:linear-gradient(to right,#000 calc(100% - 140px),transparent); }
.ariva-reviews--home .ariva-reviews__card { min-height:400px; background:#dce5e8; opacity:1; transform:none; scroll-snap-align:start; box-shadow:none; }
.ariva-reviews__progress { position:relative; height:2px; margin-top:36px; background:#dce5e8; }
.ariva-reviews__progress span { position:absolute; inset-block:0; left:0; width:25%; background:#2f3133; }
@media(max-width:700px) {
    .ariva-reviews { --review-width:85vw; --review-gap:16px; padding-block:64px; }
    .ariva-reviews__header { margin-bottom:32px; }
    .ariva-reviews .ariva-reviews__eyebrow { margin-bottom:20px; font-size:11px; }
    .ariva-reviews h2 { margin-bottom:20px; font-size:40px; }
    .ariva-reviews .ariva-reviews__subheading { font-size:17px; }
    .ariva-reviews .ariva-reviews__card { min-height:400px; padding:28px 24px; }
    .ariva-reviews__quote { height:56px; font-size:64px; }
    .ariva-reviews .ariva-reviews__card blockquote p { font-size:18px; }
    .ariva-reviews__card figcaption { gap:12px; }
    .ariva-reviews__source { font-size:10px; letter-spacing:.18em; }
    .ariva-reviews__arrow { display:none; }
    .ariva-reviews__controls--landing { margin-top:16px; }
    .ariva-reviews--landing { --review-gap:0px; }
    .ariva-reviews--landing .ariva-reviews__track { padding-inline:calc((100% - var(--review-width))/2 + 14px); }
    .ariva-reviews--landing .ariva-reviews__card { margin-inline:-14px; }
    .ariva-reviews--home .ariva-reviews__header { display:block; }
    .ariva-reviews--home .ariva-reviews__track { mask-image:none; }
    .ariva-reviews__progress { margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) { .ariva-reviews__card { transition:none; } }
