@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css");

/* Shared informational-page layout for Alverion Financial's banking offerings. */
.product-shell { width:min(100% - 3rem,75rem); margin-inline:auto; }.product-hero { padding:5.5rem 0; background:var(--color-background); }.product-hero__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center; }.product-eyebrow { margin:0 0 1rem; color:var(--color-accent); font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.product-hero h1, .product-section h2, .product-cta h2 { margin:0; color:var(--color-primary-dark); font-size:clamp(2.35rem,5vw,4.25rem); font-weight:600; letter-spacing:-.055em; line-height:1.04; }.product-lead { max-width:38rem; margin:1.4rem 0 2rem; color:var(--color-text-secondary); font-size:1.05rem; }.product-button { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.8rem 1.15rem; border:1px solid var(--color-secondary-blue); border-radius:.2rem; background:var(--color-secondary-blue); color:#fff; font-size:.88rem; font-weight:700; text-decoration:none; }.product-button:hover { background:var(--color-primary-dark); border-color:var(--color-primary-dark); color:#fff; }.product-button--outline { margin-left:.65rem; background:transparent; color:var(--color-secondary-blue); }.product-button--outline:hover { background:transparent; color:var(--color-primary-dark); }.product-visual { position:relative; min-height:22rem; padding:1.7rem; overflow:hidden; background:var(--color-primary-dark); }.product-visual::before { position:absolute; right:-18%; bottom:-35%; width:22rem; height:22rem; border-radius:50%; background:var(--color-accent); content:""; opacity:.3; }.product-visual__card { position:relative; margin:4.5rem 0 0 1rem; padding:1.5rem; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.1); color:#fff; }.product-visual__card i { color:var(--color-highlight); font-size:1.6rem; }.product-visual__card strong { display:block; margin:2.2rem 0 .5rem; font-size:1.2rem; }.product-visual__card p { margin:0; color:rgba(255,255,255,.76); font-size:.88rem; }.product-section { padding:5.75rem 0; }.product-section--surface { background:#fff; }.product-heading { max-width:45rem; margin-bottom:2.5rem; }.product-section h2, .product-cta h2 { font-size:clamp(1.9rem,3.5vw,3rem); }.product-heading p:not(.product-eyebrow) { color:var(--color-text-secondary); }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.product-card { padding:1.65rem; border:1px solid var(--color-border); background:#fff; }.product-card i { color:var(--color-accent); font-size:1.25rem; }.product-card h3 { margin:2.25rem 0 .55rem; color:var(--color-primary-dark); font-size:1.05rem; }.product-card p { margin:0; color:var(--color-text-secondary); font-size:.88rem; }.product-split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }.product-list { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--color-border); }.product-list li { padding:1rem 0; border-bottom:1px solid var(--color-border); color:var(--color-text-secondary); }.product-list i { width:1.4rem; color:var(--color-accent); }.product-note { padding:1.65rem; border-left:3px solid var(--color-highlight); background:#fff; color:var(--color-text-secondary); }.product-note h3 { margin-top:0; color:var(--color-primary-dark); }.product-cta { padding:5.5rem 0; background:var(--color-primary-dark); text-align:center; }.product-cta h2 { color:#fff; }.product-cta p { max-width:34rem; margin:1rem auto 2rem; color:rgba(255,255,255,.75); }.product-cta .product-eyebrow { color:var(--color-highlight); }.product-cta .product-button { border-color:#fff; background:#fff; color:var(--color-primary-dark); }.product-footer { padding:2.5rem 0; background:#fff; border-top:1px solid var(--color-border); }.product-footer__inner { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; }.product-footer p { margin:0; color:var(--color-text-muted); font-size:.78rem; }.product-footer a { margin-left:1rem; color:var(--color-text-secondary); font-size:.82rem; text-decoration:none; }
@media (max-width:48rem) { .product-shell { width:min(100% - 2rem,75rem); }.product-hero,.product-section,.product-cta { padding:4rem 0; }.product-hero__grid,.product-split { grid-template-columns:1fr; gap:2.5rem; }.product-grid { grid-template-columns:1fr; }.product-visual { min-height:18rem; }.product-visual__card { margin-top:2rem; }.product-button--outline { margin:.7rem 0 0; }.product-footer__inner { align-items:flex-start; flex-direction:column; }.product-footer a { margin:0 1rem 0 0; } }
@media (max-width:30rem) { .product-shell { width:min(100% - 1.25rem,75rem); }.product-hero h1 { font-size:2.2rem; }.product-visual { min-height:16rem; padding:1rem; }.product-visual__card { margin-left:0; padding:1.2rem; }.product-button { width:100%; }.product-button--outline { margin-left:0; }.product-card { padding:1.35rem; } }

@media (min-width:48.0625rem) and (max-width:64rem) { .product-hero__grid,.product-split { gap:2.5rem; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-visual { min-height:20rem; }.product-visual__card { margin:3rem 0 0; }.product-section { padding:4.75rem 0; } }

/* Use the existing visual asset to give product heroes a more editorial, less template-like presence. */
.product-visual { background-color:var(--color-primary-dark); background-image:linear-gradient(135deg,rgba(26,26,26,.92),rgba(168,0,13,.66)),url("main-savings.png"); background-position:center; background-size:cover; }
@media (prefers-reduced-motion:no-preference) { .product-hero__grid > * { animation:alverion-fade-up 450ms ease-out both; }.product-hero__grid > :last-child { animation-delay:100ms; }.product-card { transition:transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }.product-card:hover { border-color:var(--color-accent); box-shadow:var(--shadow-card); transform:translateY(-3px); } }

/* Page-specific treatments use existing page icons as stable hooks. */
body:has(.product-visual .fa-university) .product-section--surface { background:#fff7f7; }body:has(.product-visual .fa-university) .product-grid { border-top:1px solid var(--color-border); }body:has(.product-visual .fa-university) .product-card { border-width:0 0 1px; background:transparent; }body:has(.product-visual .fa-university) .product-card h3 { margin-top:1.5rem; }
body:has(.product-visual .fa-briefcase) .product-hero { background:var(--color-primary-dark); }body:has(.product-visual .fa-briefcase) .product-hero h1,body:has(.product-visual .fa-briefcase) .product-hero .product-lead { color:#fff; }body:has(.product-visual .fa-briefcase) .product-hero .product-lead { color:rgba(255,255,255,.75); }body:has(.product-visual .fa-briefcase) .product-visual { background-position:right center; }body:has(.product-visual .fa-briefcase) .product-grid { grid-template-columns:1.35fr .825fr .825fr; }body:has(.product-visual .fa-briefcase) .product-card:first-child { background:#fff5f5; border-top:3px solid var(--color-accent); }
body:has(.product-visual .fa-key) .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }body:has(.product-visual .fa-key) .product-card:first-child { grid-column:1/-1; padding:2.25rem; background:var(--color-primary-dark); border-color:var(--color-primary-dark); }body:has(.product-visual .fa-key) .product-card:first-child h3,body:has(.product-visual .fa-key) .product-card:first-child p { color:#fff; }body:has(.product-visual .fa-key) .product-card:first-child i { color:var(--color-highlight); }
body:has(.product-visual .fa-chart-line) .product-section--surface { background:#f1f1f1; }body:has(.product-visual .fa-chart-line) .product-grid { grid-template-columns:1.2fr .8fr; }body:has(.product-visual .fa-chart-line) .product-card:first-child { grid-row:span 2; padding:2.4rem; background:#fff; border-top:3px solid var(--color-accent); }body:has(.product-visual .fa-chart-line) .product-card:first-child h3 { margin-top:4rem; font-size:1.35rem; }
@media (max-width:64rem) { body:has(.product-visual .fa-briefcase) .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }body:has(.product-visual .fa-chart-line) .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }body:has(.product-visual .fa-chart-line) .product-card:first-child { grid-row:auto; grid-column:1/-1; } }
@media (max-width:48rem) { body:has(.product-visual .fa-briefcase) .product-grid,body:has(.product-visual .fa-key) .product-grid,body:has(.product-visual .fa-chart-line) .product-grid { grid-template-columns:1fr; }body:has(.product-visual .fa-key) .product-card:first-child,body:has(.product-visual .fa-chart-line) .product-card:first-child { grid-column:auto; padding:1.65rem; } }

.product-hero h1 { max-width:14ch; }.product-lead { max-width:42ch; line-height:1.7; }.product-heading > p:not(.product-eyebrow),.product-split > div > p,.product-card p,.product-note p { max-width:var(--reading-width); line-height:1.65; }.product-card h3 { line-height:1.25; }.product-section > .product-shell { max-width:var(--content-width); }.product-cta p { line-height:1.7; }
