/* =========================================================
   AVM All-in-One page makeover — avm-aio-page.css
   Flagship-first order: Ovation S → Evolution → Inspiration → AVM 30.3
   Restrained black / white / grey, strong typography.
   ========================================================= */
html{scroll-padding-top:120px;}
body.avmr-aio{background:#fff;}
body.avmr-aio main{margin:0 !important; padding:0 !important;}
.avmr-aio .aio{
  --ink:#0d0d0d; --ink-2:#1b1b1b; --grey:#6e6e6e; --grey-2:#9a9a9a; --line:#e6e6e6; --mist:#f4f4f3; --white:#fff;
  --ease:cubic-bezier(.2,.7,.2,1);
  font-family:Inter,"inter",system-ui,sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased;
}
.avmr-aio .aio *,.avmr-aio .aio *::before,.avmr-aio .aio *::after{box-sizing:border-box;}
.avmr-aio .aio h1,.avmr-aio .aio h2,.avmr-aio .aio h3,.avmr-aio .aio p,.avmr-aio .aio figure,.avmr-aio .aio blockquote,.avmr-aio .aio ol{margin:0; padding:0;}
.avmr-aio .aio img{display:block; max-width:100%;}
.avmr-aio .aio a{color:inherit;}
.avmr-aio .aio-wrap{width:min(1320px,100% - 2*clamp(20px,4vw,56px)); margin-inline:auto;}
.avmr-aio .aio-eyebrow{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); font-weight:500; display:flex; align-items:center; gap:10px;}
.avmr-aio .aio-num{font-size:12px; font-weight:500; letter-spacing:.12em; color:var(--grey-2); font-variant-numeric:tabular-nums;}

/* ---- page header ---- */
.avmr-aio .aio-head{padding:clamp(40px,6vw,84px) 0 clamp(28px,3.5vw,44px);}
.avmr-aio .aio-head__grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(28px,6vw,96px); align-items:end;}
.avmr-aio .aio-crumbs{display:flex; gap:10px; font-size:12px; letter-spacing:.04em; color:var(--grey-2); margin-bottom:22px;}
.avmr-aio .aio-crumbs a{text-decoration:none; color:var(--grey);} .avmr-aio .aio-crumbs a:hover{color:var(--ink);}
.avmr-aio .aio-crumbs [aria-current]{color:var(--ink);}
.avmr-aio .aio-head h1{font-size:clamp(52px,8.4vw,128px); line-height:.9; letter-spacing:-.045em; font-weight:500;}
.avmr-aio .aio-sub{margin-top:18px !important; font-size:clamp(17px,1.5vw,21px); color:#3c3c3c; letter-spacing:-.01em;}
.avmr-aio .aio-head__intro{border-left:1px solid var(--line); padding-left:clamp(20px,2.5vw,36px);}
.avmr-aio .aio-head__intro .aio-eyebrow{margin-bottom:12px; color:var(--ink);}
.avmr-aio .aio-head__intro p:last-child{font-size:15px; line-height:1.65; color:#4a4a4a; max-width:56ch;}

/* ---- line ladder (sticky anchor nav, elite → entry) ---- */
.avmr-aio .aio-ladder{position:sticky; top:48px; z-index:50; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.avmr-aio .aio-ladder__in{display:flex; align-items:stretch; gap:28px;}
.avmr-aio .aio-ladder__lab{display:flex; flex-direction:column; justify-content:center; gap:2px; padding:12px 0; min-width:0; flex:0 1 260px;}
.avmr-aio .aio-ladder__lab strong{font-size:14px; font-weight:600; letter-spacing:-.01em;}
.avmr-aio .aio-ladder__lab span{font-size:12px; color:var(--grey);}
.avmr-aio .aio-ladder ol{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); flex:1; margin:0;}
.avmr-aio .aio-ladder li{border-left:1px solid var(--line);}
.avmr-aio .aio-ladder a{display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:baseline; padding:12px 16px; text-decoration:none; height:100%; position:relative; transition:background .2s;}
.avmr-aio .aio-ladder a b{font-weight:500; font-size:11px; color:var(--grey-2); letter-spacing:.1em; grid-row:span 2;}
.avmr-aio .aio-ladder a span{font-size:15px; font-weight:600; letter-spacing:-.01em;}
.avmr-aio .aio-ladder a small{font-size:11.5px; color:var(--grey); grid-column:2;}
.avmr-aio .aio-ladder a::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);}
.avmr-aio .aio-ladder a:hover{background:var(--mist);}
.avmr-aio .aio-ladder a.is-active::after{transform:scaleX(1);}
.avmr-aio .aio-ladder li:first-child a span::after{content:"Flagship"; font-size:9px; letter-spacing:.14em; text-transform:uppercase; background:var(--ink); color:#fff; border-radius:999px; padding:2px 7px; margin-left:8px; vertical-align:2px; font-weight:500;}
.avmr-aio .aio-ladder li:first-child a small{display:none;}

/* ---- buttons / links ---- */
.avmr-aio .aio-ctas{display:flex; flex-wrap:wrap; gap:12px;}
.avmr-aio .aio-btn{display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:999px; border:1px solid var(--ink); font-size:14px; font-weight:600; letter-spacing:.01em; text-decoration:none; color:var(--ink) !important; background:transparent; transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease); white-space:nowrap;}
.avmr-aio .aio-btn:hover{transform:translateY(-1px);}
.avmr-aio .aio-btn--dark{background:var(--ink); color:#fff !important;} .avmr-aio .aio-btn--dark:hover{background:#333;}
.avmr-aio .aio-btn--light{background:#fff; border-color:#fff; color:var(--ink) !important;} .avmr-aio .aio-btn--light:hover{background:#e4e4e4;}
.avmr-aio .aio-btn--ghost{border-color:rgba(255,255,255,.35); color:#fff !important;} .avmr-aio .aio-btn--ghost:hover{border-color:#fff;}
.avmr-aio .aio-link{display:inline-flex; gap:8px; align-items:center; font-size:14px; font-weight:600; text-decoration:none; padding-bottom:3px; border-bottom:1px solid currentColor; align-self:flex-start; transition:gap .2s var(--ease);}
.avmr-aio .aio-link:hover{gap:12px;}
.avmr-aio .aio .avmr-ext{font-size:.85em; opacity:.6;}

/* ---- 01 flagship: Ovation ---- */
.avmr-aio .aio-flag{background:var(--ink); color:#fff; padding:clamp(48px,6vw,96px) 0 clamp(40px,5vw,72px);}
.avmr-aio .aio-flag__grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center;}
.avmr-aio .aio-flag__img{border-radius:4px; overflow:hidden; background:#151515; aspect-ratio:4/3;}
.avmr-aio .aio-flag__img img{width:100%; height:100%; object-fit:cover;}
.avmr-aio .aio-flag .aio-eyebrow{color:#a9a9a9;}
.avmr-aio .aio-flag .aio-num{color:#fff;}
.avmr-aio .aio-flag h2{font-size:clamp(40px,5vw,76px); line-height:.95; letter-spacing:-.04em; font-weight:500; margin-top:18px;}
.avmr-aio .aio-flag__type{font-size:16px; color:#bdbdbd; margin-top:12px !important;}
.avmr-aio .aio-flag__lead{font-size:16px; line-height:1.65; color:#d6d6d6; margin-top:24px !important; max-width:52ch;}
.avmr-aio .aio-quote{display:flex; gap:16px; align-items:center; margin:28px 0 32px !important; padding:18px 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14);}
.avmr-aio .aio-quote img{width:64px; height:64px; flex:none; border-radius:50%; background:#fff;}
.avmr-aio .aio-quote blockquote{font-size:15px; line-height:1.5; color:#efefef; font-style:normal;}
.avmr-aio .aio-quote cite{display:block; font-style:normal; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8f8f8f; margin-top:8px;}
.avmr-aio .aio-flag__details{display:grid; grid-template-columns:2.2fr 1fr; gap:16px; margin-top:clamp(32px,4vw,56px) !important;}
.avmr-aio .aio-detail{position:relative; border-radius:4px; overflow:hidden; background:#151515; aspect-ratio:2.58/1;}
.avmr-aio .aio-detail:not(.aio-detail--wide){aspect-ratio:auto;}
.avmr-aio .aio-detail img{width:100%; height:100%; object-fit:cover; opacity:.92; transition:opacity .3s,transform .6s var(--ease);}
.avmr-aio .aio-detail:hover img{opacity:1; transform:scale(1.02);}
.avmr-aio .aio-detail figcaption{position:absolute; left:14px; bottom:12px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.55); padding:5px 10px; border-radius:999px;}

/* ---- line sections 02–04 ---- */
.avmr-aio .aio-line{padding:clamp(56px,7vw,112px) 0; border-bottom:1px solid var(--line);}
.avmr-aio .aio-line--alt{background:var(--mist);}
.avmr-aio .aio-line__head{display:grid; grid-template-columns:64px minmax(0,1fr) minmax(0,1.15fr); gap:clamp(16px,3vw,48px); align-items:start; padding-bottom:clamp(28px,3vw,40px); margin-bottom:clamp(28px,3vw,40px); border-bottom:1px solid var(--ink);}
.avmr-aio .aio-line__head .aio-num{font-size:14px; color:var(--ink); padding-top:6px;}
.avmr-aio .aio-line__title .aio-eyebrow{margin-bottom:10px;}
.avmr-aio .aio-line__title h2{font-size:clamp(36px,4.4vw,64px); line-height:.95; letter-spacing:-.04em; font-weight:500;}
.avmr-aio .aio-line__desc p{font-size:15px; line-height:1.7; color:#4a4a4a; max-width:62ch;}
.avmr-aio .aio-line__desc p+p{margin-top:12px;}

.avmr-aio .aio-cards{display:grid; gap:clamp(14px,1.6vw,24px);}
.avmr-aio .aio-cards--2{grid-template-columns:1.35fr 1fr;}
.avmr-aio .aio-cards--3{grid-template-columns:1fr 1fr 1.3fr;}
.avmr-aio .aio-cards--1{grid-template-columns:1fr;}
.avmr-aio .aio-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:border-color .25s,box-shadow .25s,transform .25s var(--ease);}
.avmr-aio .aio-line--alt .aio-card{border-color:#e2e2e0;}
.avmr-aio .aio-card:hover{border-color:#bdbdbd; box-shadow:0 18px 40px -24px rgba(0,0,0,.25); transform:translateY(-2px);}
.avmr-aio .aio-card__media{display:flex; align-items:center; justify-content:center; background:#f6f6f5; aspect-ratio:16/10; overflow:hidden; border-bottom:1px solid var(--line);}
.avmr-aio .aio-card__media img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .6s var(--ease);}
.avmr-aio .aio-card__media--contain img{width:78%; height:88%;}
.avmr-aio .aio-card__media--wide{background:#111;}
.avmr-aio .aio-card__media--wide img{object-fit:cover; mix-blend-mode:normal;}
.avmr-aio .aio-card:hover .aio-card__media img{transform:scale(1.03);}
.avmr-aio .aio-card__body{display:flex; flex-direction:column; gap:6px; padding:20px 22px 24px; flex:1;}
.avmr-aio .aio-card__tags{display:flex; gap:8px; align-items:center; margin-bottom:6px;}
.avmr-aio .aio-tag{font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey); border:1px solid #d6d6d6; border-radius:999px; padding:3px 9px;}
.avmr-aio .aio-badge{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--ink); border-radius:999px; padding:3px 9px; font-weight:500;}
.avmr-aio .aio-card__name{font-size:clamp(22px,2vw,28px); font-weight:600; letter-spacing:-.025em; line-height:1.1;}
.avmr-aio .aio-card__name a{text-decoration:none;}
.avmr-aio .aio-card__type{font-size:14px; color:var(--grey);}
.avmr-aio .aio-card__note{font-size:14px; color:var(--ink); margin-top:4px !important;}
.avmr-aio .aio-card .aio-link{margin-top:auto; padding-top:16px;}
.avmr-aio .aio-card .aio-link{border-bottom:0; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;}
.avmr-aio .aio-cards--1 .aio-card{flex-direction:row; max-width:880px;}
.avmr-aio .aio-cards--1 .aio-card__media{flex:0 0 46%; aspect-ratio:4/3; border-bottom:0; border-right:1px solid var(--line);}
.avmr-aio .aio-cards--1 .aio-card__body{justify-content:center; padding:32px 36px;}
.avmr-aio .aio-mood{border-radius:6px; overflow:hidden; min-height:100%;}
.avmr-aio .aio-mood img{width:100%; height:100%; object-fit:cover;}

/* ---- statement ---- */
.avmr-aio .aio-statement{position:relative; background:#111; color:#fff; overflow:hidden; padding:clamp(80px,11vw,170px) 0;}
.avmr-aio .aio-statement__bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.38; filter:grayscale(1) contrast(1.05);}
.avmr-aio .aio-statement__in{position:relative;}
.avmr-aio .aio-statement__q{font-size:clamp(32px,4.6vw,68px); line-height:1.02; letter-spacing:-.04em; font-weight:500; max-width:15ch;}
.avmr-aio .aio-statement__by{margin-top:22px !important; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#cfcfcf;}

/* ---- contact ---- */
.avmr-aio .aio-contact{padding:clamp(56px,7vw,104px) 0;}
.avmr-aio .aio-contact__in{display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap;}
.avmr-aio .aio-contact h2{font-size:clamp(28px,3vw,44px); letter-spacing:-.03em; font-weight:500; margin-top:10px;}
.avmr-aio .aio-tel{display:inline-block; margin-top:10px; font-size:clamp(20px,2vw,26px); text-decoration:none; font-variant-numeric:tabular-nums; border-bottom:1px solid var(--line);}
.avmr-aio .aio-tel:hover{border-color:var(--ink);}

/* ---- responsive ---- */
@media (max-width:1100px){
  .avmr-aio .aio-ladder__lab{display:none;}
  .avmr-aio .aio-cards--3{grid-template-columns:1fr 1fr;}
  .avmr-aio .aio-mood{grid-column:1/-1; aspect-ratio:16/7; min-height:0;}
}
@media (max-width:900px){
  .avmr-aio .aio-head__grid{grid-template-columns:1fr; align-items:start;}
  .avmr-aio .aio-head__intro{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:20px;}
  .avmr-aio .aio-flag__grid{grid-template-columns:1fr;}
  .avmr-aio .aio-line__head{grid-template-columns:1fr; gap:14px;}
  .avmr-aio .aio-line__head .aio-num{padding:0;}
  .avmr-aio .aio-cards--2{grid-template-columns:1fr;}
}
@media (max-width:700px){
  html{scroll-padding-top:104px;}
  .avmr-aio .aio-ladder ol{display:flex; overflow-x:auto; scrollbar-width:none;}
  .avmr-aio .aio-ladder ol::-webkit-scrollbar{display:none;}
  .avmr-aio .aio-ladder li{flex:none;}
  .avmr-aio .aio-ladder a{padding:10px 14px;}
  .avmr-aio .aio-ladder a small{display:none;}
  .avmr-aio .aio-ladder__in{width:100%;}
  .avmr-aio .aio-flag__details{grid-template-columns:1fr;}
  .avmr-aio .aio-detail:not(.aio-detail--wide){aspect-ratio:16/10;}
  .avmr-aio .aio-cards--3{grid-template-columns:1fr;}
  .avmr-aio .aio-cards--1 .aio-card{flex-direction:column;}
  .avmr-aio .aio-cards--1 .aio-card__media{border-right:0; border-bottom:1px solid var(--line);}
  .avmr-aio .aio-cards--1 .aio-card__body{padding:20px 22px 24px;}
  .avmr-aio .aio-contact__in{flex-direction:column; align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){ .avmr-aio .aio *{transition:none !important;} }

/* override theme heading colours (product template paints h1–h4 grey) */
body.avmr-aio .aio h1, body.avmr-aio .aio h2, body.avmr-aio .aio h3, body.avmr-aio .aio h4{color:var(--ink, #0d0d0d) !important;}
body.avmr-aio .aio .aio-flag h1, body.avmr-aio .aio .aio-flag h2, body.avmr-aio .aio .aio-flag h3,
body.avmr-aio .aio .aio-statement h2, body.avmr-aio .aio .aio-statement h3{color:#fff !important;}
