/* Footer options 1-4 (template-parts/site/footer-variants.php). Tuned to header C4: navy bar #0b1122, logo-colour line, halo icons, gradient-ring CTA. */
html[data-footer] footer.osf { display:none; }
html[data-footer="2"] .ois { display:none; }
.osfv { --spec:linear-gradient(90deg, #4DAAE8 0 25%, #98C355 25% 50%, #F7CA50 50% 75%, #DB4B46 75% 100%); position:relative; overflow:hidden; background:#0b1122; color:#fff; font-family:'Averta CY','Plus Jakarta Sans',sans-serif; }
.osfv *, .osfv *::before { box-sizing:border-box; }
.osfv::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--spec); }
.osfv-in { max-width:1240px; margin:0 auto; padding:0 32px; position:relative; }
.osfv a { color:rgba(255,255,255,.72); text-decoration:none; transition:color .15s; }
.osfv a:hover, .osfv a:focus-visible { color:#fff; }
.osfv-brand { max-width:400px; }
.osfv-logo { display:inline-block; }
.osfv-logo img { display:block; width:150px; height:auto; }
.osfv-tag { margin:14px 0 0; font-size:15px; line-height:1.55; color:rgba(255,255,255,.72); }
.osfv-top { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:56px 0 40px; border-bottom:1px solid rgba(255,255,255,.08); }
.osfv-top--slim { padding-top:48px; }
/* CTA = header CTA option 2 */
.osfv .osfv-cta { display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:0 22px; border-radius:999px; border:1.5px solid transparent; background:linear-gradient(#0e1630,#0e1630) padding-box, linear-gradient(90deg,#4DAAE8,#98C355,#F7CA50,#DB4B46) border-box; box-shadow:0 8px 24px -12px rgba(77,170,232,.5); color:#fff; font-weight:700; font-size:15px; white-space:nowrap; }
.osfv .osfv-cta:hover { background:linear-gradient(#16224a,#16224a) padding-box, linear-gradient(90deg,#4DAAE8,#98C355,#F7CA50,#DB4B46) border-box; }
.osfv .osfv-cta--big { min-height:56px; padding:0 30px; font-size:17px; }
/* halo icon squares (C4) */
.osfv-ic { display:inline-flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; border-radius:50%; color:var(--dot); background:radial-gradient(circle, color-mix(in srgb, var(--dot) 30%, transparent) 0, color-mix(in srgb, var(--dot) 8%, transparent) 55%, transparent 72%); }
.osfv-ic svg { width:19px; height:19px; stroke-width:1.8; filter:drop-shadow(1.5px 1.5px 0 color-mix(in srgb, var(--dot) 38%, transparent)); }
.osfv-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--dot); flex:none; }
/* grid */
.osfv-grid { display:grid; grid-template-columns:1fr 1.15fr .85fr .9fr 1.25fr; gap:32px; padding:44px 0 48px; }
.osfv-h { margin:0 0 14px; font-size:16px; font-weight:700; line-height:1.3; }
.osfv-h button { all:unset; display:flex; align-items:center; gap:10px; color:#fff; cursor:default; }
.osfv-chev { display:none; }
.osfv-list { list-style:none; margin:0; padding:0 0 0 44px; display:grid; gap:10px; font-size:14.5px; line-height:1.4; }
.osfv-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0 26px; border-top:1px solid rgba(255,255,255,.08); font-size:13.5px; color:rgba(255,255,255,.6); }
.osfv-bottom p { margin:0; }
.osfv-bottom nav { display:flex; gap:24px; flex-wrap:wrap; }
.osfv-bottom nav a { color:rgba(255,255,255,.6); }
/* 2: CTA band */
.osfv--2 .osfv-band { position:relative; padding:64px 0; background:radial-gradient(700px 260px at 15% 0, rgba(77,170,232,.16), transparent 70%), radial-gradient(600px 240px at 90% 100%, rgba(152,195,85,.10), transparent 70%), #0e1630; border-bottom:1px solid rgba(255,255,255,.08); }
.osfv-band__in { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
.osfv-band__title { margin:0 0 12px; font-size:clamp(28px, 2.6vw, 40px); line-height:1.15; font-weight:700; letter-spacing:-.02em; color:#fff; }
.osfv-band__copy p { margin:0 0 26px; font-size:17px; line-height:1.55; color:rgba(255,255,255,.75); max-width:520px; }
.osfv-mail { padding:26px; border-radius:20px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); }
.osfv-mail__t { margin:0 0 16px; font-size:15px; line-height:1.5; color:rgba(255,255,255,.75); }
.osfv-mail__t b { display:block; color:#fff; font-size:17px; margin-bottom:4px; }
.osfv-mail__row { display:flex; gap:10px; }
.osfv-mail input[type=email] { flex:1; min-width:0; height:48px; padding:0 16px; border-radius:12px; border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.25); color:#fff; font:inherit; font-size:15px; }
.osfv-mail input::placeholder { color:rgba(255,255,255,.5); }
.osfv-mail button { height:48px; padding:0 22px; border:0; border-radius:12px; background:#98C355; color:#1D1D1B; font:inherit; font-weight:700; font-size:15px; cursor:pointer; }
.osfv-mail button:hover { background:#a9d064; }
.osfv-mail__fine { margin:10px 0 0; font-size:12.5px; color:rgba(255,255,255,.55); }
.osfv--2 .osfv-top--slim { padding:40px 0 0; border:0; }
.osfv--2 .osfv-grid { padding-top:32px; }
/* 3: minimal */
.osfv-min { display:grid; grid-template-columns:300px 1fr; gap:48px; padding:52px 0 40px; }
.osfv-row { display:flex; flex-wrap:wrap; gap:18px 36px; align-content:start; }
.osfv-row__g { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; font-size:14px; }
.osfv-row__h { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:#fff; font-size:14px; }
/* 4: facility skyline */
.osfv-sky { display:block; width:100%; height:120px; opacity:.32; margin-top:8px; }
.osfv--4 .osfv-split { display:grid; grid-template-columns:290px 1fr; gap:56px; padding:28px 0 48px; }
.osfv--4 .osfv-split__l .osfv-cta { margin-top:24px; }
.osfv--4 .osfv-grid { grid-template-columns:repeat(4, max-content); justify-content:space-between; padding:6px 0 0; gap:28px 32px; }
.osfv--4 .osfv-col:last-child { grid-column:1 / -1; }
.osfv--4 .osfv-col:last-child .osfv-list { grid-template-columns:repeat(2, max-content); column-gap:32px; }
@media (max-width:1180px) {
	.osfv-grid { grid-template-columns:repeat(3, 1fr); }
	.osfv--4 .osfv-split { grid-template-columns:1fr; gap:28px; }
	.osfv-min { grid-template-columns:1fr; gap:28px; }
}
/* phone: accordion columns, stacked blocks */
@media (max-width:767px) {
	.osfv-in { padding:0 20px; }
	.osfv-top, .osfv-band__in { flex-direction:column; align-items:flex-start; grid-template-columns:1fr; gap:24px; }
	.osfv-top { padding:44px 0 28px; }
	.osfv--2 .osfv-band { padding:44px 0; }
	.osfv .osfv-cta { width:100%; justify-content:center; white-space:normal; text-align:center; }
	.osfv-grid, .osfv--4 .osfv-grid { grid-template-columns:1fr; gap:0; padding:12px 0 24px; }
	.osfv-col { border-bottom:1px solid rgba(255,255,255,.08); }
	.osfv-h { margin:0; }
	.osfv-h button { width:100%; min-height:56px; cursor:pointer; box-sizing:border-box; }
	.osfv-h button span:not(.osfv-ic) { flex:1; }
	.osfv-chev { display:block; width:20px; height:20px; fill:none; stroke:rgba(255,255,255,.7); stroke-width:2; transition:transform .2s; }
	.osfv-col.is-open .osfv-chev { transform:rotate(180deg); }
	.osfv-list, .osfv--4 .osfv-col:last-child .osfv-list { display:none; grid-template-columns:1fr; padding:0 0 16px 44px; gap:0; }
	.osfv-col.is-open .osfv-list { display:grid; }
	.osfv-list a { display:flex; align-items:center; min-height:44px; }
	.osfv-mail__row { flex-direction:column; }
	.osfv-mail input[type=email], .osfv-mail button { width:100%; flex:none; }
	.osfv-row { flex-direction:column; gap:20px; }
	.osfv-row__g { gap:0 18px; }
	.osfv-row__h { width:100%; margin-bottom:2px; }
	.osfv-row__g a { min-height:44px; display:inline-flex; align-items:center; }
	.osfv-bottom { flex-direction:column; align-items:flex-start; gap:6px; }
	.osfv-bottom nav { gap:0 22px; }
	.osfv-bottom nav a { min-height:44px; display:inline-flex; align-items:center; }
	.osfv-sky { height:70px; }
}
/* Footer pitch (default footer + all options): a statement, not a quote. */
.osf-pitch { margin:0; font-family:'Averta CY','Plus Jakarta Sans',sans-serif; font-size:22px; line-height:1.45; color:#fff; letter-spacing:-.01em; }
.osf-pitch strong { display:block; font-weight:600; color:#fff; }
.osf-pitch span { display:block; }
.osf-pitch b { font-weight:600; white-space:nowrap; }
.osf-pitch .b { color:#4DAAE8; } .osf-pitch .g { color:#98C355; } .osf-pitch .y { color:#F7CA50; }
.osf__intro .osf-pitch { position:relative; z-index:1; font-size:26px; }
.osfv .osfv-tag.osf-pitch { margin-top:18px; font-size:19px; color:#fff; }
@media (max-width:767px) { .osf__intro .osf-pitch { font-size:21px; } .osfv .osfv-tag.osf-pitch { font-size:18px; } }
/* Default footer 768-1399px: two columns per row (the 50% - 20px basis plus the 56px compact-footer gap overflowed and wrapped to one per row). */
@media (min-width:768px) and (max-width:1399px) { .osf__cols .osf-col { flex:0 0 calc(50% - 29px); } }
