/* Screenshot-only portfolio: no internal dashboard is embedded or fetched.
   The viewport frames the supplied capture above the screen-sharing toolbar. */
.jd-shot{aspect-ratio:2.07;overflow:hidden;background:#f6f4fa;position:relative;border-radius:inherit}
.jd-shot img{display:block;width:100%;height:auto!important;max-width:none;object-fit:initial!important;filter:none!important}
.jd-home-showcase{margin-top:42px;padding-top:32px;border-top:1px solid #dcd3eb}
.jd-showcase-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}
.jd-showcase-heading h3{font-size:clamp(21px,2vw,30px);font-weight:800;line-height:1.8;color:#21172f;margin:6px 0}
.jd-showcase-heading p{color:#665975;font-size:14px;line-height:1.9;margin:0}
.jd-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.jd-home-card{display:block;min-width:0;background:#fff;border:1px solid #ddd2eb;border-radius:18px;overflow:hidden;text-decoration:none;color:#22162f;box-shadow:0 6px 22px #29103e06;transition:transform .2s,border-color .2s}
.jd-home-card:hover{transform:translateY(-4px);border-color:#9e78d3}
.jd-home-caption{padding:19px 21px}.jd-home-caption>span:first-child,.jd-case-label{font-size:12px;line-height:1.8;font-weight:700;color:#7245ad}
.jd-home-caption h4{font-size:clamp(16px,1.35vw,21px);font-weight:800;line-height:1.8;margin:6px 0 14px;color:#251831}
.jd-home-action,.jd-sample-link{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#7142b0;font-size:13px;line-height:1.8;font-weight:700;min-height:32px}
.jd-home-action svg,.jd-sample-link svg,.jd-primary-link svg{width:19px;height:19px;flex-shrink:0}
.jd-work-media{padding:20px;background:#ede7f5;box-sizing:border-box}
.jd-work-media[data-tone=gold]{background:#f0ece2}.jd-work-media[data-tone=green]{background:#e3f1ec}
.jd-work-media .jd-shot{width:100%;border:1px solid #d8d2dd;border-radius:8px;box-shadow:0 8px 20px #22133315}
.jd-work-image-link{display:block}.jd-work-card h3 a{color:inherit;text-decoration:none}.jd-work-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.jd-sample-link{width:100%;text-decoration:none}
.jd-portfolio{background:#f6f3fa;color:#22172e;padding:32px 0 70px}.jd-portfolio .tr-container{max-width:1480px}
.jd-case-nav{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 42px}.jd-case-nav a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ddd3e8;border-radius:30px;padding:12px 18px;min-height:44px;font-size:13px;line-height:1.8;color:#44324f;text-decoration:none}
.jd-case-nav a:hover{border-color:#9257cb;background:#f0e8fa}.jd-tone-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#7843cb}.jd-tone-dot[data-tone=gold]{background:#9c7a32}.jd-tone-dot[data-tone=green]{background:#087858}
.jd-case{scroll-margin-top:145px;margin-bottom:52px}.jd-case-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;margin-bottom:24px}.jd-case-copy h2{font-size:clamp(23px,2.3vw,34px);line-height:1.7;font-weight:800;margin:9px 0 12px;color:#22172e}.jd-case-copy p{font-size:15px;color:#655970;line-height:2;max-width:700px;margin:0}.jd-case-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;list-style:none;margin:9px 0 0;padding:0}.jd-case-copy li{display:flex;gap:9px;align-items:start;font-size:13px;line-height:1.9;color:#44354f}.jd-case-copy li svg{width:18px;height:18px;color:#7a45c4;flex-shrink:0;margin-top:4px}
.jd-case[data-tone=gold] .jd-case-label,.jd-case[data-tone=gold] li svg{color:#866725}.jd-case[data-tone=green] .jd-case-label,.jd-case[data-tone=green] li svg{color:#096d54}
.jd-case-figure{margin:0;overflow:hidden;background:#fff;border:1px solid #dcd2e5;border-radius:16px;box-shadow:0 14px 44px #2513350c}.jd-browser-bar{display:flex;align-items:center;direction:ltr;gap:5px;padding:12px 16px;background:#eeebf3;border-bottom:1px solid #ded8e6}.jd-browser-bar>span{width:7px;height:7px;border-radius:50%;background:#b6a8c5}.jd-browser-bar b{font:11px/1.5 Arial,sans-serif;color:#71627e;flex:1;text-align:center;margin-right:36px;letter-spacing:.04em}.jd-case-figure .jd-shot{border-radius:0}.jd-case-figure figcaption{display:flex;justify-content:space-between;gap:20px;padding:13px 20px;border-top:1px solid #e3dce9;color:#5d506a;font-size:12px;line-height:1.9}.jd-case-figure figcaption span{color:#7c6b88}
.jd-case-cta{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:32px;border-radius:18px;background:#211232;color:#fff}.jd-case-cta>div:first-child>span{font-size:12px;color:#cfb0ef}.jd-case-cta h2{font-size:clamp(22px,2vw,30px);line-height:1.8;margin:5px 0 8px;color:#fff}.jd-case-cta p{font-size:14px;line-height:2;color:#dfd2eb;margin:0}.jd-case-cta>div:last-child{display:grid;gap:14px;flex-shrink:0}.jd-case-cta a{text-align:center;text-decoration:none;font-size:13px;line-height:1.8;color:#e1d3ef;min-height:32px}.jd-case-cta a.jd-primary-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;background:#8050cb;color:#fff;border-radius:9px;min-height:48px;font-weight:700}
.jd-portfolio a:focus-visible,.jd-home-showcase a:focus-visible,.jd-work-card a:focus-visible{outline:3px solid #8e51d3;outline-offset:4px}
.jd-zoom-button{display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:700;color:#7041ab;background:#f0e8f9;border:1px solid #ded0eb;border-radius:7px;padding:6px 12px;cursor:pointer;min-height:38px}.jd-zoom-button[hidden]{display:none}.jd-zoom-button svg{width:16px;height:16px}.jd-image-dialog{box-sizing:border-box;width:min(1600px,96vw);max-width:none;max-height:94dvh;border:1px solid #cdbbe0;background:#fff;color:#251a30;border-radius:16px;padding:20px;box-shadow:0 24px 80px #10071d66}.jd-image-dialog::backdrop{background:#120b24c9;backdrop-filter:blur(5px)}.jd-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.jd-dialog-heading h2{font-size:20px;line-height:1.8;margin:0}.jd-dialog-heading button{font:28px/1 sans-serif;color:#492465;background:#f2ebf9;border:1px solid #dcccea;border-radius:9px;width:44px;height:44px;flex-shrink:0;cursor:pointer}.jd-image-dialog>p{font-size:13px;color:#756382;line-height:1.9;margin:8px 0 15px}.jd-dialog-viewport{max-height:70dvh;overflow:auto;border:1px solid #dfd7e7;border-radius:9px;overscroll-behavior:contain}.jd-dialog-viewport .jd-shot{width:max(100%,1000px)}.jd-image-dialog button:focus-visible,.jd-dialog-viewport:focus-visible,.jd-zoom-button:focus-visible{outline:3px solid #8e51d3;outline-offset:3px}
@media(max-width:900px){.jd-showcase-heading{align-items:start;flex-direction:column;gap:12px}.jd-case-copy{grid-template-columns:1fr;gap:18px}.jd-home-caption{padding:15px}.jd-home-caption h4{font-size:16px}}
@media(max-width:640px){.jd-home-grid{grid-template-columns:1fr;gap:18px}.jd-home-showcase{margin-top:28px;padding-top:25px}.jd-case-nav{display:grid;gap:9px;margin-bottom:30px}.jd-case-nav a{border-radius:12px}.jd-case{margin-bottom:36px;scroll-margin-top:120px}.jd-case-copy ul{grid-template-columns:1fr;gap:9px}.jd-case-copy h2{font-size:23px}.jd-case-copy p{font-size:14px}.jd-case-figure{border-radius:10px}.jd-case-figure figcaption{font-size:10px;padding:10px 12px;gap:10px}.jd-case-cta{flex-direction:column;align-items:stretch;padding:25px;gap:22px}.jd-portfolio{padding:24px 0 45px}.jd-work-media{padding:16px}}
@media(prefers-reduced-motion:reduce){.jd-home-card{transition:none}.jd-home-card:hover{transform:none}}
