/* Point homepage trust layout and shared existing team portraits. */
.group-backing { background:var(--navy); color:var(--white); }
.group-backing h2,.group-backing h3,.group-backing strong { color:var(--white); }
.group-backing p { color:color-mix(in srgb,var(--white) 78%,var(--navy)); }
.group-backing .eyebrow,.group-backing .text-link { color:var(--turquoise); }
.group-intro { display:grid; gap:1rem; }
.group-intro h2 { max-width:19ch; }
.group-intro>p { max-width:56ch; font-size:1.0625rem; }
.group-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2.5rem 0 3rem; }
.group-metrics>div { display:flex; flex-direction:column-reverse; justify-content:end; border-top:1px solid #ffffff36; padding-top:1.25rem; }
.group-metrics dt { font-size:.8125rem; color:color-mix(in srgb,var(--white) 76%,var(--navy)); }
.group-metrics dd { font:500 clamp(2.1rem,5vw,3.7rem)/1.15 var(--heading); letter-spacing:-.045em; margin:0 0 .625rem; }
.group-rail-heading { display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; align-items:center; margin-bottom:1.25rem; }
.group-rail-heading h3 { font-size:1.4rem; margin-bottom:.5rem; }
.group-rail-heading p { font-size:.875rem; margin:0; }
.motion-control { min-height:44px; padding:.65rem .9rem; background:transparent; border:1px solid #ffffff64; border-radius:5px; color:var(--white); font-size:.8125rem; }
.motion-control:hover { background:#ffffff12; }
.group-backing :is(a,button,[tabindex]):focus-visible { outline:3px solid var(--turquoise); outline-offset:4px; }
.brand-rail { overflow-x:auto; overflow-y:hidden; padding:4px 2px 12px; scrollbar-width:thin; scrollbar-color:var(--turquoise) transparent; }
.brand-track { display:flex; gap:1rem; width:max-content; }
.brand-set { display:flex; align-items:stretch; gap:1rem; padding:0; list-style:none; width:max-content; margin:0; }
.brand-set>li { margin:0; flex:0 0 auto; }
.group-brand { display:flex; flex-direction:row; align-items:center; gap:14px; min-width:230px; min-height:64px; padding:14px 20px; border:1px solid #ffffff26; border-radius:14px; position:relative; background:#ffffff08; }
.group-brand:hover { border-color:var(--turquoise); background:#ffffff0b; color:var(--white); }
.group-brand img { display:block; flex-shrink:0; width:auto; height:30px; max-width:130px; object-fit:contain; filter:brightness(0) invert(1); }
.group-brand-copy { display:flex; flex-direction:column; gap:2px; }
.group-brand strong { font-family:var(--body); font-size:.8125rem; font-weight:600; letter-spacing:normal; line-height:1.3; white-space:nowrap; }
.group-brand-copy>span { font-size:.75rem; line-height:1.3; white-space:nowrap; color:color-mix(in srgb,var(--white) 72%,var(--navy)); }
.brand-simplea strong { font-weight:600; }
.group-bottom { display:grid; gap:1.5rem; margin-top:1.5rem; align-items:start; }
.group-bottom>p { max-width:76ch; font-size:.8125rem; margin:0; }
.group-bottom>a { font-size:.875rem; white-space:normal; }
.group-backing .source-note { font-size:.6875rem; margin-top:1.5rem; color:color-mix(in srgb,var(--white) 62%,var(--navy)); }
.partner-intro { max-width:740px; margin-bottom:2rem; }
.partner-intro h2 { max-width:24ch; }
.partner-row { padding:1.25rem 0; border-top:1px solid var(--line); }
.partner-row h3 { color:var(--teal); font:600 .75rem/1.4 var(--body); text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
.partner-brand { display:flex; align-items:center; justify-content:center; min-width:120px; min-height:56px; padding:8px 18px; background:transparent; border:0; border-radius:0; font:500 1.1rem/1.25 var(--heading); text-align:center; }
.partner-logo img { display:block; height:40px; width:auto; max-width:150px; object-fit:contain; }
.financial-partners .scope-note { max-width:88ch; font-size:.8125rem; margin:1.5rem 0 .75rem; }
.financial-partners .source-note { font-size:.6875rem; max-width:100ch; }
.brand-rail.is-enhanced { overflow-x:hidden; }
.brand-rail.is-enhanced .brand-track { animation:brand-loop 48s linear infinite; }
.brand-rail.rail-1 .brand-track { animation-direction:reverse; animation-duration:55s; }
.brand-rail.rail-2 .brand-track { animation-duration:76s; }
.brand-motion-paused .brand-track,.brand-rail:hover .brand-track,.brand-rail:focus-within .brand-track { animation-play-state:paused!important; }
/* Keyboard focus uses a static, scrollable original list; no focus can disappear
   behind a moving mask. The inert duplicate never enters the tab order. */
.brand-rail:focus-within { overflow-x:auto; }
.brand-rail:focus-within .brand-track { animation:none; transform:none; }
.brand-rail:focus-within .brand-set[data-visual-copy] { display:none; }
@keyframes brand-loop { to { transform:translateX(calc(-50% - .5rem)); } }
.team-card .team-portrait { width:128px; height:128px; margin:0 0 1.5rem; border-radius:12px; overflow:hidden; background:var(--soft); }
.team-portrait img { width:100%; height:100%; object-fit:cover; object-position:center; }
.team-portrait img[src$="martin-gago-400.webp"] { transform:scale(2.5); transform-origin:50% 50%; }
.team-portrait.team-monogram { display:grid; place-items:center; position:relative; background:color-mix(in srgb,var(--turquoise) 12%,var(--white)); color:var(--teal); }
.team-monogram>span { font:500 2.6rem/1 var(--heading); position:relative; z-index:1; }
.team-monogram svg { position:absolute; width:100%; bottom:0; opacity:.17; }
.team-card p { font-size:.9375rem; }
.team-actions { display:grid; align-content:start; justify-items:start; gap:.25rem; min-height:100px; margin-top:auto; }
.team-actions>a { display:inline-flex; align-items:center; gap:.6rem; min-height:44px; color:var(--teal); font-weight:500; text-decoration:underline; }
.team-actions .small-contact { font-size:.8125rem; }
.calculator-choices { background:var(--soft); }
.calculator-choice-grid { display:grid; gap:1.25rem; }
.calculator-choice-grid>a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:start; border:1px solid var(--line); border-radius:12px; padding:1.5rem; background:var(--white); }
.calculator-choice-grid>a:hover { border-color:var(--teal); color:var(--navy); }
.calculator-choice-grid h3 { font-size:1.3rem; margin-bottom:.65rem; }
.calculator-choice-grid p { font-size:.875rem; margin:0; }
.calc-choice-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--soft); color:var(--teal); font:500 1.5rem var(--heading); }
@media(min-width:768px) {
 .group-intro { grid-template-columns:1.1fr 1fr; align-items:end; gap:3rem; }
 .group-intro>p { margin-bottom:1.25rem; }
 .group-metrics { gap:3rem; margin-top:3rem; margin-bottom:3.5rem; }
 .group-bottom { grid-template-columns:1.5fr 1fr; gap:3rem; }
 .group-bottom>a { justify-self:end; }
 .calculator-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:380px) {
 .group-metrics { gap:.65rem; }
 .group-metrics dd { font-size:2rem; }
 .group-metrics dt { font-size:.6875rem; }
 .calculator-choice-grid>a { padding:1.1rem; gap:.75rem; grid-template-columns:minmax(0,1fr) auto; }
 .calculator-choice-grid .calc-choice-symbol { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .brand-rail.is-enhanced { overflow-x:auto; }
 .brand-rail.is-enhanced .brand-track { animation:none; transform:none; }
 .brand-set[data-visual-copy] { display:none; }
}

/* All financial partners share one continuous row. */
.partner-rail.rail-all .brand-track { animation-duration:75s; }

/* Use the supplied car-site portrait at its natural scale. */
.team-portrait img[src$="martin-gago-car-profile.webp"]{transform:none;object-position:50% 30%}
