/* Cloudy front page (v5.0.0) - enqueued on is_front_page() only; header/util/footer live in site.css. Ported from mockup v5. */
.cfp-active{background:#dfe7f3}
.cfp{--navy:#021331;--navy2:#0a2250;--green:#5cb338;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#10203d;background:#dfe7f3}
.cfp *{box-sizing:border-box}
.cfp a{text-decoration:none}
.cfp-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.cfp-wrap.cfp-wide{max-width:1360px}
/* Hero */
.cfp-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#010b1f 0%,#021331 45%,#0a2a66 100%);color:#fff}
.cfp-hero img{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;opacity:.4;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.cfp-hero .cfp-wrap{position:relative;padding-top:84px;padding-bottom:84px}
.cfp-hero h1{font-size:54px;line-height:1.08;max-width:760px;letter-spacing:-.5px;color:#fff;margin:0}
.cfp-btns{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.cfp-btn{display:inline-block;font-weight:800;font-size:16px;padding:14px 28px;border-radius:999px;border:2px solid #5cb338;transition:transform .2s}
.cfp-btn.cfp-p{background:#5cb338;color:#042010!important}
.cfp-btn.cfp-s{color:#fff!important}
.cfp-btn:hover{transform:translateY(-2px)}
/* Headings */
.cfp h2{font-size:26px;line-height:1.2;margin:44px 0 18px;padding-left:12px;border-left:5px solid #5cb338;border-radius:2px;color:#021331}
.cfp-note{color:#4a5b78;font-size:13px;margin:-8px 0 14px;font-style:italic}
.cfp-more{margin:14px 0 0;text-align:right}
.cfp-more a{color:#021331;font-weight:800;font-size:14px}
.cfp-more a:hover{color:#3f8a22}
/* Lead */
.cfp-lead{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:32px}
.cfp-feat{position:relative;display:block;background:#021331;border-radius:20px;overflow:hidden;min-height:520px;box-shadow:0 4px 16px rgba(2,19,49,.15);color:#fff;transition:transform .2s,box-shadow .2s}
.cfp-feat img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cfp-feat>div{position:absolute;left:0;right:0;bottom:0;padding:90px 32px 30px;background:linear-gradient(transparent,rgba(2,19,49,.95) 60%)}
.cfp-feat em,.cfp-card em{font-style:normal;background:#5cb338;color:#021331;font-weight:800;font-size:12px;padding:3px 9px;border-radius:999px;text-transform:uppercase}
.cfp-feat h3{font-size:36px;line-height:1.15;margin:12px 0;color:#fff}
.cfp-feat p{color:#c9d6ee;font-size:14px;margin:0}
.cfp-side{display:grid;gap:20px;align-content:start}
/* Cards */
.cfp-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(2,19,49,.08),0 1px 2px rgba(2,19,49,.06);transition:transform .2s,box-shadow .2s;color:#021331}
.cfp-card:hover,.cfp-tile:hover,.cfp-yt-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(2,19,49,.18)}
.cfp-feat:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(2,19,49,.22)}
.cfp-card img{width:100%;aspect-ratio:460/215;object-fit:cover;display:block}
.cfp-card.cfp-logo img{object-fit:contain;background:#021331;padding:18px}
.cfp-card>div{padding:14px 16px 18px}
.cfp-card h3{font-size:18px;line-height:1.3;margin:8px 0 0;color:#021331}
.cfp-card:hover h3{color:#3f8a22}
.cfp-card.cfp-guide em{background:#fff;color:#021331;border:1px solid #5cb338}
/* Strip */
.cfp-strip{background:#021331;padding:8px 0 36px;margin-top:44px}
.cfp-strip h2{color:#fff;margin-top:32px}
.cfp-strip .cfp-note{color:#9fb3d6}
.cfp-strip .cfp-more a{color:#fff}
.cfp-tiles{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start}
.cfp-tile{display:block;flex:0 0 auto;width:128px;height:128px;border-radius:26px;overflow:hidden;background:#0a2250;box-shadow:0 4px 12px rgba(0,0,0,.35);border:2px solid rgba(92,179,56,.55);transition:transform .2s,box-shadow .2s,border-color .2s}
.cfp-tile img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#021331}
.cfp-tile:hover,.cfp-tile:focus-visible{transform:translateY(-6px);box-shadow:0 14px 26px rgba(0,0,0,.45);border-color:#5cb338;outline:0}
/* Grid / twin */
.cfp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cfp-grid .cfp-card{height:100%}
.cfp-empty{background:#fff;border:2px dashed #b9c6dc;border-radius:16px;padding:34px;text-align:center;color:#5a6b88;font-weight:700}
.cfp-empty-dark{background:#0a2250;border-color:#1d3b78;color:#9fb3d6}
.cfp-gap{margin-top:32px}
.cfp-twin{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;padding-bottom:8px}
.cfp-panel{display:flex;flex-direction:column}
.cfp-panel>.cfp-empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:20px}
.cfp-panel>.cfp-card{flex:1}
.cfp-panel>.cfp-card img{aspect-ratio:auto;flex:1;min-height:200px}
.cfp-panel>.cfp-card>div{flex:none}
.cfp-panel>.cfp-card+.cfp-card{margin-top:20px}
/* YouTube band */
.cfp-videos{background:#021331;margin-top:44px;padding:8px 0 40px}
.cfp-videos h2{color:#fff;margin-top:32px}
.cfp-yt-card{display:flex;align-items:center;gap:24px;background:#0a2250;border:2px solid #1d3b78;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.25);padding:28px 32px;color:#fff;transition:transform .2s,box-shadow .2s}
.cfp-play{flex:none;width:0;height:0;border-left:36px solid #5cb338;border-top:22px solid transparent;border-bottom:22px solid transparent;margin-left:6px}
.cfp-yt-text{flex:1;display:flex;flex-direction:column;gap:4px}
.cfp-yt-text strong{font-size:22px}
.cfp-yt-text small{color:#9fb3d6;font-size:14px}
@media(max-width:1100px){.cfp-hero h1{font-size:44px}}
@media(max-width:800px){
.cfp-hero .cfp-wrap{padding-top:44px;padding-bottom:48px}.cfp-hero h1{font-size:30px}.cfp-hero img{width:100%;opacity:.3}
.cfp-btn{padding:12px 22px;font-size:15px}
.cfp-lead,.cfp-grid,.cfp-twin{grid-template-columns:1fr}
.cfp-tiles{gap:14px;justify-content:center}.cfp-tile{width:88px;height:88px;border-radius:20px}
.cfp-feat{min-height:380px}.cfp-feat h3{font-size:24px}.cfp-feat>div{padding:70px 18px 20px}
.cfp h2{font-size:22px}.cfp-wrap{padding:0 16px}
.cfp-yt-card{flex-wrap:wrap;padding:20px}
}
