/* Homepage only. Real CSS keeps the mobile geometry independent of Tailwind's build. */
.jf-home-hero{position:relative;isolation:isolate;overflow:hidden;background:#e8f4ff;color:#102a48}
.jf-home-sky,.jf-home-fade{position:absolute;inset:0;z-index:-2;pointer-events:none}
.jf-home-sky img{width:100%;height:100%;object-fit:cover;object-position:center top}
.jf-home-fade{z-index:-1;background:linear-gradient(180deg,#ffffff05 0%,#ffffff55 42%,#fffffff5 88%,#fff 100%)}
.jf-home-shell{width:100%;max-width:1440px;margin:0 auto;padding:24px 16px 28px}
.jf-home-top{position:relative;display:grid;gap:24px;align-items:center}
.jf-home-copy{position:relative;z-index:2;min-width:0}
.jf-home-title{margin:0 0 12px;font-size:clamp(28px,7.5vw,40px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:#102a48}
.jf-home-title-line{display:block}
.jf-home-title-accent{color:#1264e2}
.jf-home-subtitle{margin:0 0 20px;color:#31465f;font-size:15px;line-height:1.5;max-width:650px}
.jf-home-subtitle-desktop{display:none}
.jf-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.jf-home-action{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:76px;padding:12px;border:1px solid #1264e2;border-radius:6px;text-decoration:none;color:#1264e2;background:#ffffffb8;transition:background-color .15s,border-color .15s}
.jf-home-action-primary{background:#1264e2;color:#fff}
.jf-home-action-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.jf-home-action-label{font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.jf-home-action-arrow{width:17px;height:17px;flex:0 0 17px}
.jf-home-action-count{display:block;margin-top:5px;font-size:12px;font-weight:400;line-height:1.35;color:#476d98;font-variant-numeric:tabular-nums}
.jf-home-action-primary .jf-home-action-count{color:#edf4ff}
.jf-home-count-full{display:none}
.jf-home-action:hover{background:#edf4ff;border-color:#0b55c8;text-decoration:none}
.jf-home-action-primary:hover{background:#0b55c8;color:#fff}
.jf-home-action:focus-visible,.jf-home-feature:focus-visible{outline:3px solid #598bc5;outline-offset:4px}
.jf-home-benefits{display:none;list-style:none;padding:0;margin:20px 0;gap:0;color:#253c54;font-size:13px;line-height:1.4}
.jf-home-benefits li{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;flex:1 1 auto;padding:0 10px;text-align:center}
.jf-home-benefits li+li{border-left:1px solid #cad8e6}
.jf-home-benefits svg{width:18px;height:18px;flex:0 0 18px;color:#1264e2}
.jf-home-search{display:flex;align-items:center;gap:10px;min-height:52px;padding:5px 6px 5px 14px;border:1px solid #adc4df;border-radius:8px;background:#ffffffed;box-shadow:0 2px 5px #2b4d7208}
.jf-home-search-icon{width:21px;height:21px;flex:0 0 21px;color:#234967}
.jf-home-search input{min-width:0;width:100%;flex:1;border:0;background:transparent;padding:4px 0;font-size:16px;line-height:1.4;color:#253c54;outline:none;box-shadow:none}
.jf-home-search input::placeholder{color:#6c8198;opacity:1}
.jf-home-search:focus-within{outline:2px solid #598bc5;outline-offset:2px}
.jf-home-search button{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:5px;background:#1264e2;color:#fff}
.jf-home-search button:hover{background:#0b55c8}
.jf-home-search button:focus-visible{outline:2px solid #234967;outline-offset:2px}
.jf-home-search button svg{width:22px;height:22px}
.jf-home-search-desktop{display:none}
.jf-home-mobile-search{margin-top:18px}
.jf-hero-mobile-help{max-width:30rem;margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.45}
.jf-home-visual{display:none}
.jf-home-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.jf-home-feature{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid #dce5ef;border-radius:9px;background:#fffffff2;color:#344f6a;text-decoration:none;box-shadow:0 2px 5px #294b7004;transition:border-color .15s,background-color .15s}
.jf-home-feature:hover{border-color:#a9c1dc;background:#fff;text-decoration:none}
.jf-home-feature h2{margin:0 0 10px;color:#28445f;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.015em}
.jf-home-feature p{display:none;margin:0 0 20px;color:#61758b;font-size:14px;line-height:1.6}
.jf-home-feature-link{display:block;margin-top:auto;padding-top:11px;border-top:1px solid #e4ebf3;color:#4b7295;font-size:12px;font-weight:600;line-height:1.45}
#jofi-hero-chat-panel{scroll-margin-top:88px}
.jf-home-chat-panel{position:relative;z-index:3;max-width:660px;margin:20px 0 0}
/* Existing lower-page tabs and legal links must also fit narrow phones. */
.jf-homepage #features [role="tablist"]{display:flex;max-width:100%}
.jf-homepage #features [role="tablist"] button{min-width:0;flex:1;padding-left:14px;padding-right:14px}
.jf-homepage footer .flex.gap-6{flex-wrap:wrap;justify-content:center;row-gap:10px}
.jf-homepage header [data-open-register]{border-radius:5px;box-shadow:none}
.jf-homepage header nav.desktop-nav{gap:24px}
.jf-homepage header div.desktop-nav{gap:12px}
.jf-homepage header .gap-12{gap:28px}
@media(max-width:1279px){.jf-homepage header .desktop-nav{display:none!important}.jf-homepage #hamburger-menu-btn{display:inline-flex;align-items:center;justify-content:center}}
@media(min-width:1280px) and (max-width:1439px){.jf-homepage header .nav-link{font-size:14px}.jf-homepage header nav.desktop-nav{gap:20px}}
@media(max-width:360px){.jf-homepage header a[href="/"]{gap:6px}.jf-homepage header a[href="/"]>img{width:34px;height:34px}.jf-homepage header a[href="/"]>.text-3xl{font-size:25px}}
@media(min-width:640px){
 .jf-home-shell{padding:40px 28px 36px}
 .jf-home-title{font-size:46px}
 .jf-home-subtitle{font-size:18px;max-width:680px}
 .jf-home-subtitle-desktop{display:block}
 .jf-home-subtitle-mobile{display:none}
 .jf-home-actions{gap:16px}
 .jf-home-action{min-height:86px;padding:16px 18px}
 .jf-home-action-label{font-size:17px}
 .jf-home-action-count{font-size:13px;margin-top:6px}
 .jf-home-action-arrow{width:21px;height:21px;flex-basis:21px}
 .jf-home-count-full{display:block}
 .jf-home-count-short{display:none}
 .jf-home-cards{gap:16px;margin-top:30px}
 .jf-home-feature{padding:22px}
 .jf-home-feature h2{font-size:18px}
 .jf-home-feature p{display:block}
 .jf-home-feature-link{font-size:13px;padding-top:14px}
}
@media(min-width:768px){
 .jf-home-benefits{display:flex}
 .jf-home-search-desktop{display:flex}
 .jf-home-mobile-search{display:none}
 .jf-home-copy{max-width:740px}
}
@media(min-width:1024px){
 .jf-home-shell{padding:52px 32px 42px}
 .jf-home-top{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:28px;min-height:460px}
 .jf-home-title{font-size:clamp(43px,4.3vw,64px);margin-bottom:18px}
 .jf-home-subtitle{font-size:19px;margin-bottom:24px}
 .jf-home-visual{display:block;position:relative;align-self:stretch;min-width:0;min-height:440px;isolation:isolate;pointer-events:none}
 .jf-home-visual::before{content:"";position:absolute;inset:-120px -160px -80px -20px;z-index:-2;background:repeating-linear-gradient(125deg,#ffffff00 0,#ffffff00 87px,#ffffff55 88px,#ffffff55 146px);clip-path:polygon(20% 0,100% 0,100% 85%,0 100%)}
 .jf-home-visual-shape{position:absolute;inset:10% -2% 7% 2%;z-index:-1;background:#0793c5;clip-path:polygon(22% 16%,100% 0,79% 84%,0 100%)}
 .jf-home-visual-shape::after{content:"";position:absolute;inset:9% 5% 3% 5%;border:2px solid #1264e2;transform:skew(-13deg,-7deg)}
 .jf-home-people{position:absolute;left:-6%;bottom:0;width:112%;height:104%;max-width:none;object-fit:contain;object-position:center bottom}
 .jf-home-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px;gap:16px}
 .jf-home-feature{padding:23px;min-height:196px}
 .jf-home-feature h2{font-size:20px}
 .jf-home-feature p{font-size:14px}
 .jf-home-feature-link{font-size:13px}
}
@media(min-width:1280px){
 .jf-home-top{min-height:490px;gap:34px}
 .jf-home-action{min-height:88px}
 .jf-home-action-label{font-size:18px}
 .jf-home-benefits{font-size:13px}
 .jf-home-visual{min-height:470px}
 .jf-home-feature{padding:25px;min-height:206px}
}
@media(prefers-reduced-motion:reduce){.jf-home-action,.jf-home-feature{transition:none}}
