/* Homepage promotions share the club's typography, colours and global CTAs. */
.sva-home-ads,.sva-app-promo { padding:48px max(24px,calc((100vw - 1440px)/2)); width:100%; box-sizing:border-box; }
.sva-home-ads { padding-block:28px; background:#fff; scroll-margin-top:calc(var(--sva-header-height) + 24px); }
.sva-home-ads__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; max-width:1120px; margin-inline:auto; }
.sva-home-ad { min-width:0; display:flex; flex-direction:column; }
.sva-home-ad__label { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; font:500 10px/1.5 Poppins,Arial,sans-serif; color:#647160; text-transform:uppercase; letter-spacing:.1em; }
.sva-home-ad__link { display:flex; flex-direction:column; flex:1; border:1px solid #e1e8dd; border-radius:10px; overflow:hidden; text-decoration:none; color:#15231a; background:#f7f9f4; transition:box-shadow .2s,border-color .2s; }
.sva-home-ad__image { height:120px; background:#fff; display:grid; place-items:center; padding:0; }
.sva-home-ad__image img { max-width:100%; width:auto; height:auto; max-height:120px; object-fit:contain; }
.sva-home-ad__body { padding:16px; display:flex; flex-direction:column; flex:1; }
.sva-home-ad__body h2 { font:700 16px/1.3 Poppins,Arial,sans-serif; letter-spacing:-.025em; margin:0 0 8px; color:#15231a; }
.sva-home-ad__body p { font:400 12px/1.6 Poppins,Arial,sans-serif; color:#5f6b5b; margin:0 0 12px; }
.sva-home-ad__cta { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:auto; padding-top:10px; border-top:1px solid #dce6d5; font:600 12px/1.5 Poppins,Arial,sans-serif; color:#356327; }
.sva-home-ad__cta > span { font-size:23px; transition:transform .2s; }
.sva-home-ad__link:is(:hover,:focus-visible) { box-shadow:0 12px 25px #15231a12; border-color:#6eb645; }
.sva-home-ad__link:is(:hover,:focus-visible) .sva-home-ad__cta > span { transform:translate(3px,-3px); }
.sva-home-ad__link:focus-visible { outline:2px solid #6eb645; outline-offset:4px; }
.sva-app-promo { padding-block:34px 54px; background:#fff; scroll-margin-top:calc(var(--sva-header-height) + 16px); }
.sva-app-promo__panel { position:relative; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr); gap:24px; overflow:hidden; background:#15231a; border-radius:14px; color:#fff; }
.sva-app-promo__copy { position:relative; z-index:1; padding:clamp(26px,3.5vw,52px); }
.sva-promo-kicker { font:600 10px/1.6 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; color:#a0ce83; margin:0 0 14px; }
.sva-app-promo h2 { font:750 clamp(30px,3.2vw,48px)/1.1 Poppins,Arial,sans-serif; letter-spacing:-.045em; color:#fff; margin:0 0 18px; }
.sva-app-promo h2 em { color:#6eb645; font-style:normal; }
.sva-app-promo__copy > p:not(.sva-promo-kicker) { max-width:480px; font:400 13px/1.8 Poppins,Arial,sans-serif; color:#c3d0bc; margin:0 0 22px; }
.sva-app-promo ul { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; padding:0; margin:0 0 28px; font:500 10px/1.6 Poppins,Arial,sans-serif; color:#c7dfb6; }
.sva-app-promo li::before { content:'✓'; color:#6eb645; margin-right:7px; }
.sva-app-promo__stores { display:flex; flex-wrap:wrap; gap:10px; }
.sva-app-promo__visual { position:relative; min-height:380px; display:flex; justify-content:center; align-items:flex-start; padding-top:35px; background:radial-gradient(ellipse at bottom,#39552b,transparent 72%); }
.sva-app-promo__phone { width:205px; height:445px; border:7px solid #0b150e; border-radius:34px; box-shadow:0 0 0 1px #78916b,0 20px 30px #0006; overflow:hidden; transform:rotate(7deg); flex-shrink:0; z-index:1; }
.sva-app-promo__phone img { width:100%; height:100%; object-fit:cover; object-position:top; }
.sva-app-promo__orbit { position:absolute; font:800 150px/1 Poppins,Arial,sans-serif; letter-spacing:-.07em; color:#6eb64512; top:70px; left:0; transform:rotate(-12deg); }
.sva-app-promo__note { position:absolute; bottom:24px; right:24px; padding:9px 12px; background:#6eb645; color:#15231a; border-radius:4px; z-index:2; font:600 10px/1.5 Poppins,Arial,sans-serif; transform:rotate(-4deg); }
/* Job pages: existing URLs and editorial copy, a dedicated reusable layout. */
.sva-job { background:#fff; color:#15231a; font-family:Poppins,Arial,sans-serif; }
.sva-job__wrap { width:min(1280px,calc(100% - 48px)); margin-inline:auto; }
.sva-job__hero { background:#15231a; color:#fff; padding:30px 0 52px; }
.sva-job__back { color:#b6d4a3; text-decoration:none; font-size:11px; display:inline-block; margin-bottom:36px; }
.sva-job__hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:60px; align-items:center; }
.sva-job__hero-grid > *,.sva-job__layout > * { min-width:0; }
.sva-job h1 { font:750 clamp(29px,3.3vw,49px)/1.13 Poppins,Arial,sans-serif; letter-spacing:-.04em; margin:0 0 22px; color:#fff; overflow-wrap:break-word; hyphens:none; }
.sva-job__facts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.sva-job__facts span { color:#b9df9d; background:#6eb64516; border:1px solid #6eb64555; border-radius:30px; padding:7px 14px; font-size:11px; }
.sva-job__lead { font-size:13px; line-height:1.85; color:#cfdbca; max-width:630px; margin:0 0 25px; }
.sva-job__campaign { background:#fff; border-radius:12px; overflow:hidden; }
.sva-job__campaign > img { width:100%; height:auto; display:block; }
.sva-job__employer { padding:14px 22px; display:flex; align-items:center; gap:20px; color:#15231a; font-size:13px; }
.sva-job__employer img { width:66px; height:66px; object-fit:contain; }
.sva-job__layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:70px; padding-block:56px 80px; align-items:start; }
.sva-job__content h2 { font:700 26px/1.2 Poppins,Arial,sans-serif; letter-spacing:-.035em; margin:38px 0 20px; }
.sva-job__content h2:first-child { margin-top:0; }
.sva-job__content p,.sva-job__content li { font-size:14px; line-height:1.8; }
.sva-job__content ul { list-style:none; margin:0; padding:0; }
.sva-job__content li { padding:12px 0 12px 26px; position:relative; border-bottom:1px solid #e6ecdf; }
.sva-job__content li::before { content:'↗'; position:absolute; left:0; color:#579238; font-weight:600; }
.sva-job__aside { background:#f0f5eb; border:1px solid #dce9d2; border-radius:12px; padding:30px; position:sticky; top:calc(var(--sva-header-height) + 24px); }
.sva-job__aside .sva-promo-kicker { color:#4e7939; }
.sva-job__aside h2 { font:700 29px/1.15 Poppins,Arial,sans-serif; letter-spacing:-.035em; margin:0 0 18px; }
.sva-job__aside p:not(.sva-promo-kicker) { font-size:12px; line-height:1.8; color:#5a6b50; }
.sva-job__contact { border-block:1px solid #d2dfc8; padding:20px 0; margin:22px 0; display:flex; flex-direction:column; gap:9px; }
.sva-job__contact small { font-size:10px; color:#607454; }
.sva-job__contact strong { font-size:16px; }
.sva-job__contact a { font-size:12px; color:#315926; overflow-wrap:anywhere; }
.sva-job__privacy { display:block; font-size:10px; line-height:1.8; color:#65785a; margin-top:18px; }
@media(max-width:900px) { .sva-home-ads__grid { gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); } .sva-home-ad__body { padding:16px; } .sva-home-ad__image,.sva-home-ad__image img { max-height:145px; } .sva-app-promo__panel { grid-template-columns:1.3fr 1fr; } .sva-job__hero-grid { gap:28px; } .sva-job__layout { gap:32px; } }
@media(max-width:650px) { .sva-home-ads,.sva-app-promo { padding:30px 20px; } .sva-home-ads__grid { grid-template-columns:1fr; gap:24px; } .sva-home-ad__link { display:grid; grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr); } .sva-home-ad__image { height:100%; min-height:170px; max-height:none; } .sva-home-ad__image img { max-height:none; } .sva-home-ad__body h2 { font-size:16px; } .sva-home-ad__body p { font-size:11px; margin-bottom:16px; } .sva-app-promo__panel { grid-template-columns:1fr; gap:0; } .sva-app-promo__copy { padding:28px 24px 0; } .sva-app-promo__visual { min-height:0; height:235px; padding-top:25px; } .sva-app-promo__phone { width:165px; height:360px; } .sva-app-promo__orbit { left:30px; top:20px; } .sva-app-promo__stores { gap:8px; } .sva-app-promo__stores .sva-shared-news-link { width:100%; } .sva-job__wrap { width:calc(100% - 40px); } .sva-job__hero-grid,.sva-job__layout { grid-template-columns:1fr; } .sva-job__hero { padding-top:22px; } .sva-job__back { margin-bottom:26px; } .sva-job__campaign { max-width:420px; } .sva-job__layout { padding-block:34px 50px; } .sva-job__aside { position:static; padding:24px; } }
@media(prefers-reduced-motion:reduce) { .sva-home-ad__link,.sva-home-ad__cta > span { transition:none; } }
@media(max-width:360px) { .sva-job h1 { hyphens:auto; } }
@media(max-width:650px) {
 .sva-home-ads__grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:88%; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding-bottom:16px; scrollbar-width:thin; scrollbar-color:#6eb645 #eaf0e4; }
 .sva-home-ad { scroll-snap-align:start; }
 .sva-home-ad__link { display:flex; }
 .sva-home-ad__image { height:120px; min-height:0; }
 .sva-home-ad__image img { max-height:120px; }
 .sva-home-ad__body { padding:16px; }
 .sva-home-ads__grid:focus-visible { outline:2px solid #6eb645; outline-offset:4px; }
}
