/* Homepage card treatment and motion, matched to the reference landing page. */
@keyframes jc-gradient{from{background-position:0% 50%}to{background-position:200% 50%}}
@keyframes jc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes jc-blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-18px) scale(1.12)}}
@keyframes jc-enter{from{opacity:0;transform:translate(var(--enter-x,0),var(--enter-y,20px))}to{opacity:1;transform:translate(0,0)}}
.hero-banner{padding:10px 16px 0;background:linear-gradient(180deg,#e6f4ff,#f2f9ff)}
.hero-banner .container{position:relative;z-index:2;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px #0b244724}
.hero-banner img{border-radius:22px;transition:transform .6s ease}
.hero-banner .container:hover img{transform:scale(1.02)}
.home-intro{position:relative;overflow:hidden;min-height:0;padding:34px 16px;background:linear-gradient(180deg,#f2f9ff,#fff)}
.home-intro:before{content:'';position:absolute;left:50%;top:-110px;width:760px;height:420px;background:radial-gradient(ellipse,rgba(0,166,255,.22),transparent 68%);pointer-events:none;animation:jc-blob 9s ease-in-out infinite}
.home-intro:after{content:'';position:absolute;right:-90px;bottom:40px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.16),transparent 70%);pointer-events:none;animation:jc-blob 11s ease-in-out infinite reverse}
.intro-grid{position:relative;z-index:2;grid-template-columns:7fr 5fr;align-items:stretch;background:#fff;border:1px solid #e1ebf6;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px #0b244724}
.intro-grid:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#00a6ff,#22d3ee,#4f46e5,#7c5cff,#00a6ff);background-size:200% 100%;animation:jc-gradient 4s linear infinite;z-index:3}
.intro-copy{padding:34px 30px 30px 49px;--enter-x:-30px;--enter-y:0}
.intro-copy h1{font-weight:700}
.intro-logo{text-align:center;margin:0 0 30px}
.intro-logo a{display:inline-flex;align-items:center;gap:6px;border-radius:14px;padding:13px 22px;background:linear-gradient(135deg,#0b2447,#0047c2);box-shadow:0 10px 26px #0047c247;color:#00b4ea;animation:jc-float 4.5s ease-in-out infinite}
.intro-logo strong{font:italic 900 34px/1.1 Arial,sans-serif;letter-spacing:-1.5px}.intro-logo small{font:700 10px/1 Arial,sans-serif;letter-spacing:1px;color:white}
.intro-copy p{font-size:15.5px;line-height:1.9}
.intro-copy p:last-child{border-left:2px solid #e1ebf6;padding-left:20px;font-style:italic}
.intro-image{max-width:none;margin:0;border:1px solid #e1ebf6;border-radius:22px;background:linear-gradient(165deg,#f5f9fe,#fff);padding:34px 35px 44px;--enter-x:30px;--enter-y:0}
.intro-image a{display:block;overflow:hidden;border-radius:22px;box-shadow:0 24px 60px #0b244724}
.intro-image img{max-width:none;border-radius:22px;transition:transform .6s ease}
.intro-image a:hover img{transform:scale(1.02)}
.motion-ready [data-enter]{opacity:0}.motion-ready [data-enter].is-visible{animation:jc-enter .9s ease both}
.contact-float{left:auto;right:22px;bottom:54px;display:flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid white;border-radius:999px;background:linear-gradient(135deg,#229ed9,#0088cc);font-size:15px;font-weight:700;line-height:1;box-shadow:0 10px 25px #0088cc59;transition:transform .25s,box-shadow .25s;z-index:50}
.contact-float:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0088cc73}.contact-float svg{width:22px;height:22px;fill:currentColor}.back-top{right:22px;bottom:8px}
@media(max-width:849px){.intro-grid{display:flex;flex-direction:column}.intro-copy{padding:26px 24px 20px}.intro-copy h1{font-size:32px}.intro-image{width:100%;padding:18px 42px 42px}.intro-image img{max-width:100%;width:100%}.intro-grid,.intro-image,.hero-banner .container,.hero-banner img,.intro-image a{border-radius:18px}.home-intro:before{width:100%;height:300px}.home-intro:after{display:none}}
@media(max-width:549px){.hero-banner{padding:10px 12px 0}.home-intro{padding:34px 12px}.intro-grid,.intro-image,.hero-banner .container,.hero-banner img,.intro-image a{border-radius:14px}.intro-copy{padding:20px 15px 14px}.intro-copy h1{font-size:25px;line-height:1.4}.intro-copy p{font-size:14.5px;line-height:1.8}.intro-image{padding:15px 13px 30px}.intro-logo{margin-bottom:22px}.intro-logo a{padding:10px 16px;border-radius:11px}.intro-logo strong{font-size:28px}.contact-float{right:14px;bottom:16px;padding:11px 14px;font-size:13px}.contact-float svg{width:20px;height:20px}.back-top{bottom:70px;right:14px}}
@media(prefers-reduced-motion:reduce){.intro-grid:before,.intro-logo a,.home-intro:before,.home-intro:after,.motion-ready [data-enter].is-visible{animation:none!important}.motion-ready [data-enter]{opacity:1!important}.hero-banner img,.intro-image img,.contact-float{transition:none!important}}

/* Long-form homepage and contextual reading links. */
.home-content{padding:32px 0 44px}.home-content .entry-content{max-width:1450px}.home-content h2{margin-top:1.7em}.article-resources{margin:30px 0;padding:18px 22px;border:1px solid #c9ddec;border-radius:12px;background:#edf6fc}.article-resources p{margin:0 0 10px}.article-resources ul{margin:0;padding-left:22px}.article-resources a{overflow-wrap:anywhere}@media(max-width:767px){.home-content{padding:12px 0 24px}.article-resources{padding:16px}}

/* Keep account actions visible below the mobile brand row. */
@media(max-width:849px){
 .site-header .header-row{height:126px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:70px 56px;gap:0;justify-items:center;padding:0 15px}
 .site-header .menu-button{top:12px}
 .site-header .brand,.site-header .custom-logo-link{grid-row:1}
 .site-header .head-actions{display:flex;grid-row:2;align-self:start;justify-content:center;width:100%;max-width:420px;gap:12px;padding-bottom:12px}
 .site-header .head-actions .action{flex:1;min-height:44px;font-size:15px;border-radius:6px}
 .site-header .primary-menu{top:100%;max-height:calc(100dvh - 150px)}
}

/* Compact mobile footer navigation. */
@media(max-width:549px){
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px;padding-left:20px;padding-right:20px}
 .site-footer .footer-grid>div{min-width:0}
 .site-footer .footer-grid>div:first-child,.site-footer .footer-grid>div:last-child{grid-column:1/-1}
 .site-footer .footer-grid h3{font-size:19px;line-height:1.4;margin-bottom:12px}
 .site-footer .footer-grid ul{list-style:none;padding-left:0}
 .site-footer .footer-grid li{padding:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
 .site-footer .footer-grid li a{display:block;padding:9px 0;min-height:40px}
 .site-footer .footer-grid>div:last-child{padding-top:20px;border-top:1px solid #ffffff20}
}

/* Readable homepage editorial section; keep article-page typography separate. */
.home-content{padding:28px 24px 56px;background:linear-gradient(180deg,#fff,#f5f9fe)}
.home-content .entry-content{max-width:1000px;padding:36px 44px;background:#fff;border:1px solid #e0eaf3;border-radius:20px;box-shadow:0 12px 32px #0b244708;font-family:'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.85;color:#405369;overflow-wrap:break-word}
.home-content .entry-content>p{margin:0 0 20px}
.home-content .entry-content>p:first-child{margin:0 0 30px;padding:20px 24px;border-left:3px solid #159ed7;border-radius:0 12px 12px 0;background:#f0f8fd;color:#244660;font-size:18px;line-height:1.85}
.home-content .entry-content h2{margin:32px 0 16px;padding-top:26px;border-top:1px solid #e6edf4;color:#103b63;font-family:inherit;font-size:25px;font-weight:700;line-height:1.45;letter-spacing:0}
.home-content .entry-content h3{font-family:inherit;color:#174d75;font-size:21px;line-height:1.5;margin:24px 0 12px}
.home-content .entry-content>p:last-child{margin-bottom:0}
@media(max-width:767px){
 .home-content{padding:8px 12px 30px}
 .home-content .entry-content{padding:22px 20px;border-radius:16px;font-size:16px;line-height:1.8}
 .home-content .entry-content>p{margin-bottom:18px}
 .home-content .entry-content>p:first-child{padding:16px;margin-bottom:24px;font-size:16px;line-height:1.8}
 .home-content .entry-content h2{font-size:21px;line-height:1.45;margin:26px 0 14px;padding-top:22px}
 .home-content .entry-content h3{font-size:19px}
}

.download-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;margin:24px 0 32px;border:1px solid #b9dbf2;border-radius:16px;background:linear-gradient(120deg,#edf8ff,#e8f0ff)}.download-cta h2{color:#10345e;font-size:23px;line-height:1.35;margin:0 0 8px}.download-cta p{margin:0;color:#405c75;font-size:16px}.download-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:52px;padding:14px 22px;border-radius:9px;background:linear-gradient(100deg,#ff9b12,#f66a15);color:#fff!important;font-weight:700;font-size:16px;box-shadow:0 6px 16px #e8752429;text-align:center}.download-cta-button:hover{background:#dd5b09}.download-cta-button span{font-size:25px;line-height:1}.download-cta-button:focus-visible{outline:3px solid #134b86;outline-offset:4px}@media(max-width:640px){.download-cta{flex-direction:column;align-items:stretch;padding:20px;gap:16px}.download-cta h2{font-size:22px}.download-cta-button{width:100%;white-space:normal}}
