/* JAKO Portfolio widget v1.24 */
.jpw-widget,.jpw-widget *{box-sizing:border-box}
.jpw-widget{--jpw-accent:#1684ff;--jpw-text:#fff;--jpw-muted:#bdc9d9;--jpw-panel:#07172b;--jpw-panel-2:#0b203c;--jpw-line:rgba(255,255,255,.1);--jpw-card:#12233b;--jpw-shadow:rgba(0,0,0,.32);width:100%;margin:0 auto 30px;font-family:inherit;color:var(--jpw-text)}
.jpw-theme-navy{--jpw-accent:#1684ff;--jpw-text:#fff;--jpw-muted:#b8c8dc;--jpw-panel:#061426;--jpw-panel-2:#0a1e39;--jpw-line:rgba(144,190,255,.17);--jpw-card:#102640;--jpw-shadow:rgba(0,6,18,.38)}
.jpw-theme-dark{--jpw-accent:#2a91ff;--jpw-text:#fff;--jpw-muted:#b7bdc8;--jpw-panel:#05080e;--jpw-panel-2:#10141d;--jpw-line:rgba(255,255,255,.11);--jpw-card:#151a23;--jpw-shadow:rgba(0,0,0,.45)}
.jpw-theme-purple{--jpw-accent:#9d7cff;--jpw-text:#fff;--jpw-muted:#d0c6e8;--jpw-panel:#160d2b;--jpw-panel-2:#251444;--jpw-line:rgba(192,157,255,.2);--jpw-card:#302052;--jpw-shadow:rgba(18,6,40,.45)}
.jpw-theme-light{--jpw-accent:#126cff;--jpw-text:#0b1b33;--jpw-muted:#66758a;--jpw-panel:#eef3fb;--jpw-panel-2:#fff;--jpw-line:#d9e2ef;--jpw-card:#dfe7f2;--jpw-shadow:rgba(24,52,88,.16)}
.jpw-shell{position:relative;display:grid;grid-template-columns:minmax(240px,31%) minmax(0,1fr);gap:42px;align-items:center;min-height:400px;padding:54px 56px;border:1px solid var(--jpw-line);border-radius:28px;background:linear-gradient(135deg,var(--jpw-panel),var(--jpw-panel-2));box-shadow:0 24px 70px var(--jpw-shadow);overflow:hidden;isolation:isolate}
.jpw-shell:before,.jpw-shell:after{content:"";position:absolute;z-index:-1;border-radius:999px;pointer-events:none;filter:blur(2px)}
.jpw-shell:before{width:360px;height:360px;right:-140px;top:-210px;background:radial-gradient(circle,rgba(55,137,255,.2),rgba(55,137,255,0) 70%)}
.jpw-theme-purple .jpw-shell:before{background:radial-gradient(circle,rgba(157,124,255,.25),rgba(157,124,255,0) 70%)}
.jpw-theme-light .jpw-shell:before{background:radial-gradient(circle,rgba(18,108,255,.13),rgba(18,108,255,0) 70%)}
.jpw-shell:after{left:-180px;bottom:-300px;width:420px;height:420px;border:1px solid var(--jpw-line)}
.jpw-intro{position:relative;z-index:2;min-width:0}
.jpw-eyebrow{margin:0 0 20px;color:var(--jpw-accent);font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.jpw-intro h2{margin:0;color:var(--jpw-text);font-size:clamp(34px,4.1vw,58px);line-height:.98;letter-spacing:-.045em;font-weight:900}
.jpw-description{max-width:390px;margin:23px 0 0;color:var(--jpw-muted);font-size:17px;line-height:1.55}
.jpw-all{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;margin-top:28px;padding:0 25px;border:1px solid transparent;border-radius:12px;background:var(--jpw-accent);box-shadow:0 14px 30px color-mix(in srgb,var(--jpw-accent) 28%,transparent);color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:850;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.jpw-all:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 18px 36px color-mix(in srgb,var(--jpw-accent) 38%,transparent)}
.jpw-all b{font-size:19px;line-height:1}
.jpw-stage{position:relative;min-width:0;padding-bottom:54px}
.jpw-track{display:flex;gap:16px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:4px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;cursor:grab}
.jpw-track::-webkit-scrollbar{display:none}
.jpw-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.jpw-card{position:relative;display:block;flex:0 0 clamp(230px,31%,330px);min-width:0;aspect-ratio:var(--jpw-ratio,1.2);min-height:238px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:var(--jpw-card);overflow:hidden;color:#fff!important;text-decoration:none!important;box-shadow:0 18px 46px rgba(0,0,0,.22);isolation:isolate;scroll-snap-align:start;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.jpw-theme-light .jpw-card{border-color:rgba(17,52,92,.13);box-shadow:0 18px 46px rgba(30,58,93,.18)}
.jpw-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--jpw-accent) 60%,transparent);box-shadow:0 26px 60px rgba(0,0,0,.34)}
.jpw-media,.jpw-photo,.jpw-shade{position:absolute;inset:0;display:block;width:100%;height:100%}
.jpw-media{overflow:hidden;background:linear-gradient(145deg,var(--jpw-card),var(--jpw-panel-2))}
.jpw-photo{object-fit:cover;object-position:center;transform:scale(1.001);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.jpw-card:hover .jpw-photo{transform:scale(1.075)}
.jpw-shade{z-index:1;background:linear-gradient(to top,rgba(3,8,16,.92) 0%,rgba(3,8,16,.58) 34%,rgba(3,8,16,.08) 72%,rgba(3,8,16,.02) 100%)}
.jpw-media-logo .jpw-shade{background:linear-gradient(to top,rgba(3,8,16,.78),rgba(3,8,16,.08) 62%,rgba(3,8,16,0))}
.jpw-logo-wrap{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center}
.jpw-media-logo .jpw-logo-wrap{inset:22px 28px 76px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.15),rgba(255,255,255,.035) 68%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.jpw-theme-light .jpw-media-logo .jpw-logo-wrap{background:rgba(255,255,255,.68);border-color:rgba(18,108,255,.12)}
.jpw-theme-light .jpw-media-overlay .jpw-logo-wrap{background:rgba(255,255,255,.82);border-color:rgba(18,108,255,.18)}
.jpw-media-logo .jpw-photo{display:none}
.jpw-logo{display:block;max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.28));transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.jpw-card:hover .jpw-logo{transform:scale(1.065)}
.jpw-media-overlay .jpw-logo-wrap{right:18px;top:50%;transform:translateY(-50%);width:92px;height:92px;padding:12px;border:1px solid rgba(255,255,255,.32);border-radius:22px;background:rgba(6,14,27,.54);backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.jpw-copy{position:absolute;left:18px;right:52px;bottom:17px;z-index:3}
.jpw-media-overlay .jpw-copy{right:128px}
.jpw-copy b,.jpw-copy small{display:block}
.jpw-copy b{color:#fff;font-size:19px;line-height:1.13;font-weight:900;letter-spacing:-.02em;text-shadow:0 3px 16px rgba(0,0,0,.45)}
.jpw-copy small{margin-top:6px;color:rgba(255,255,255,.76);font-size:11px;line-height:1.25}
.jpw-card>em{position:absolute;left:14px;top:14px;z-index:4;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(5,12,24,.52);backdrop-filter:blur(9px);color:#fff;font-size:10px;line-height:1;font-style:normal;font-weight:850}
.jpw-year{position:absolute;right:14px;top:14px;z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(5,12,24,.48);backdrop-filter:blur(9px);color:#fff;font-size:12px;line-height:1;font-weight:900;letter-spacing:.02em}
.jpw-card>i{position:absolute;right:14px;bottom:14px;z-index:4;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.44);border-radius:50%;background:rgba(5,12,24,.42);color:#fff;font-size:16px;font-style:normal;transition:background .22s ease,transform .22s ease}
.jpw-card:hover>i{background:var(--jpw-accent);border-color:var(--jpw-accent);transform:rotate(6deg)}
.jpw-nav{position:absolute;left:4px;bottom:0;display:flex;gap:9px}
.jpw-nav button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--jpw-line);border-radius:50%;background:rgba(255,255,255,.05);color:var(--jpw-text);font:700 16px/1 inherit;cursor:pointer;transition:.2s ease}
.jpw-theme-light .jpw-nav button{background:#fff}
.jpw-nav button:hover{border-color:var(--jpw-accent);background:var(--jpw-accent);color:#fff;transform:translateY(-2px)}

/* Legacy compact/card layouts remain available in the module settings. */
.jpw-style-cards .jpw-shell,.jpw-style-strip .jpw-shell,.jpw-style-compact .jpw-shell{display:block;min-height:0;padding:30px;background:var(--jpw-panel)}
.jpw-style-cards .jpw-intro,.jpw-style-strip .jpw-intro,.jpw-style-compact .jpw-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.jpw-style-cards .jpw-eyebrow,.jpw-style-strip .jpw-eyebrow,.jpw-style-compact .jpw-eyebrow,.jpw-style-cards .jpw-description,.jpw-style-strip .jpw-description,.jpw-style-compact .jpw-description{display:none}
.jpw-style-cards .jpw-intro h2,.jpw-style-strip .jpw-intro h2,.jpw-style-compact .jpw-intro h2{font-size:clamp(25px,2.5vw,38px)}
.jpw-style-cards .jpw-all,.jpw-style-strip .jpw-all,.jpw-style-compact .jpw-all{min-height:auto;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--jpw-accent)!important;font-size:13px}
.jpw-style-cards .jpw-stage,.jpw-style-strip .jpw-stage,.jpw-style-compact .jpw-stage{padding:0}
.jpw-style-cards .jpw-track{display:grid;grid-template-columns:repeat(var(--jpw-cols),minmax(0,1fr));overflow:visible;padding:0;cursor:default}
.jpw-style-cards .jpw-card{width:100%;flex:auto;min-height:230px}
.jpw-style-cards .jpw-nav,.jpw-style-compact .jpw-nav{display:none}
.jpw-style-strip .jpw-card{flex-basis:min(320px,82vw);min-height:200px}
.jpw-style-strip .jpw-nav{display:none}
.jpw-style-compact .jpw-track{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible;padding:0;cursor:default}
.jpw-style-compact .jpw-card{display:grid;grid-template-columns:104px minmax(0,1fr) 38px;align-items:center;flex:auto;width:100%;min-height:94px;aspect-ratio:auto;padding:8px;border-color:var(--jpw-line);border-radius:16px;background:var(--jpw-panel-2);box-shadow:none}
.jpw-style-compact .jpw-media{position:relative;inset:auto;width:104px;height:76px;border-radius:11px}
.jpw-style-compact .jpw-shade,.jpw-style-compact .jpw-card>em{display:none}
.jpw-style-compact .jpw-logo-wrap{inset:8px!important;padding:5px!important;border-radius:9px!important}
.jpw-style-compact .jpw-copy{position:relative;left:auto;right:auto;bottom:auto;padding:0 12px}
.jpw-style-compact .jpw-copy b{font-size:15px;text-shadow:none}
.jpw-theme-light.jpw-style-compact .jpw-copy b{color:var(--jpw-text)}
.jpw-style-compact .jpw-card>i{position:relative;right:auto;bottom:auto;width:34px;height:34px}

@media(max-width:1150px){
  .jpw-shell{grid-template-columns:minmax(220px,34%) minmax(0,1fr);gap:28px;padding:42px 38px}
  .jpw-card{flex-basis:clamp(225px,46%,300px)}
  .jpw-description{font-size:15px}
}
@media(max-width:860px){
  .jpw-shell{grid-template-columns:1fr;gap:30px;padding:36px 28px}
  .jpw-intro{max-width:680px}
  .jpw-description{max-width:620px}
  .jpw-stage{padding-bottom:48px}
  .jpw-card{flex-basis:min(300px,72vw)}
  .jpw-style-cards .jpw-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .jpw-widget{margin-bottom:22px}
  .jpw-shell{gap:24px;padding:29px 18px 24px;border-radius:22px}
  .jpw-eyebrow{margin-bottom:13px;font-size:10px}
  .jpw-intro h2{font-size:35px}
  .jpw-description{margin-top:16px;font-size:14px;line-height:1.5}
  .jpw-all{width:100%;min-height:52px;margin-top:21px;padding:0 19px}
  .jpw-stage{margin-right:-18px;padding-bottom:46px}
  .jpw-track{padding-right:18px}
  .jpw-card{flex-basis:min(272px,82vw);min-height:224px;border-radius:19px}
  .jpw-media-overlay .jpw-logo-wrap{right:14px;width:74px;height:74px;border-radius:18px}
  .jpw-media-overlay .jpw-copy{right:104px}
  .jpw-year{min-width:46px;height:28px;font-size:11px}
  .jpw-nav{left:0}
  .jpw-style-cards .jpw-shell,.jpw-style-strip .jpw-shell,.jpw-style-compact .jpw-shell{padding:22px 16px}
  .jpw-style-cards .jpw-intro,.jpw-style-strip .jpw-intro,.jpw-style-compact .jpw-intro{align-items:center}
  .jpw-style-cards .jpw-track{grid-template-columns:1fr}
  .jpw-style-cards .jpw-stage,.jpw-style-strip .jpw-stage,.jpw-style-compact .jpw-stage{margin-right:0}
}
@media(prefers-reduced-motion:reduce){.jpw-widget *{scroll-behavior:auto!important;transition:none!important}}
