/* Shared navigation and editorial infographics. Keep the established charcoal/copper identity. */
:root{--jg-paper:#f4f0e7;--jg-ink:#263632;--jg-muted:#52645c;--jg-copper:#875c31;--jg-line:#d8d5c9;--jg-accent:#d8bd8c}
::selection{background:#dcc297;color:#1e302a}
html{scroll-padding-top:110px}
.jg-site-nav,.jg-site-nav *,.jg-site-signature,.jg-site-signature *{box-sizing:border-box}
.jg-site-nav{position:sticky;top:0;z-index:1000;margin:0;padding:0;background:#242c2c;color:#faf5eb;font-family:'DM Sans',Arial,sans-serif;line-height:1.4;border-bottom:1px solid #8a775a}
.jg-site-nav .jg-nav-inner{max-width:1440px;width:calc(100% - 48px);margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.jg-site-nav a{color:#eee9df;text-decoration:none;letter-spacing:normal;font-size:12px;font-weight:600;line-height:1.4}
.jg-site-nav .jg-brand{flex-shrink:0;display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:0;border-radius:0}
.jg-site-nav .jg-brand:hover{text-decoration:none}
.jg-brand>span{font:600 20px/1.1 'Manrope',Arial,sans-serif;letter-spacing:-.02em}
.jg-brand em{font:italic 30px/1 'Instrument Serif',Georgia,serif;color:#e0bd87}
.jg-brand small{font:500 8px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.035em;color:#d1cabd}
.jg-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.jg-site-nav .jg-nav-links>a{padding:12px 0;white-space:nowrap}
.jg-site-nav .jg-nav-links>a:hover,.jg-site-nav a[aria-current=page]{color:#efc991;text-decoration:underline;text-underline-offset:6px}
.jg-site-nav .jg-contact-link{border:1px solid #bca27e;padding:10px 13px!important}
.jg-site-nav .jg-social{display:flex;gap:7px;align-items:center;color:#f4d9af}
.jg-site-nav .jg-menu-toggle{display:none;align-items:center;gap:8px;background:none;color:#f8eddb;border:1px solid #a69172;border-radius:4px;font:600 14px/1.4 'DM Sans',Arial,sans-serif;padding:10px 12px;min-height:44px;cursor:pointer;width:auto;box-shadow:none}
.jg-site-nav :is(a,button):focus-visible{outline:3px solid #efc991;outline-offset:5px}
.jg-site-signature{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:24px max(24px,calc((100vw - 1280px)/2));background:#242c2c;color:#d9d4c8;font:500 12px/1.6 'DM Sans',Arial,sans-serif;border-top:1px solid #4b514b;clear:both}
.jg-site-signature a{color:#efd3a8;text-decoration:underline;text-underline-offset:4px}
body:has(.jg-site-nav){margin:0}
.jg-tools-page{background:var(--jg-paper)}
.jg-catalog-hero{background:#253b33;padding:60px 0 56px}
.jg-catalog-hero:after,.gl-hero:before{display:none}
.jg-catalog-hero h1{font-size:clamp(36px,5vw,65px);letter-spacing:-.03em;margin:0 0 24px;line-height:1.05}
.jg-catalog-hero h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400}
.jg-catalog-hero p{max-width:65ch;color:#e1e8dd}
.jg-hero-chips{gap:20px;margin-top:24px}
.jg-hero-chips span{border:0;background:none;border-radius:0;padding:0;color:#f2d6a7;font-size:13px}
.jg-tools-main{padding:52px 0 72px}
.jg-catalog-heading>div>span,.jg-catalog-footer-banner>.wrap>div>span{display:none}
.jg-catalog-heading h2{letter-spacing:-.03em;margin:0;font-size:clamp(28px,3vw,40px)}
.jg-catalog-grid{gap:28px;align-items:stretch}
.jg-tool-card{border:1px solid #d3d5c8;border-radius:14px;box-shadow:none;transition:border-color .2s;background:#fffdf8;display:flex}
.jg-tool-card:hover{transform:none;box-shadow:none;border-color:#8f9f8c}
.jg-tool-card-footer{padding:28px;display:flex;flex-direction:column;width:100%;min-width:0}
.jg-tool-card-footer h2{font-size:clamp(23px,2.4vw,30px);letter-spacing:-.025em;line-height:1.16;margin:0 0 14px}
.jg-tool-card-footer .jg-tool-meta{margin-bottom:16px}
.jg-tool-card-footer>p{font-size:15px;line-height:1.65;color:#42594d;min-height:5em;margin-bottom:22px;max-width:66ch}
.jg-tool-meta{color:#72532d;letter-spacing:.03em;gap:12px}
.jg-tool-access{color:#33523a;background:#e9efdf}
.jg-infographic{padding:24px 0 20px;border-top:1px solid var(--jg-line);border-bottom:1px solid var(--jg-line);margin:0 0 14px}
.jg-infographic h3{font:500 clamp(24px,2.5vw,30px)/1.16 'Instrument Serif',Georgia,serif;letter-spacing:-.01em;color:#2e493a;max-width:29ch;margin:0 0 24px}
.jg-flow{list-style:none!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0!important;position:relative}
.jg-flow:before{content:'';position:absolute;top:17px;left:18px;right:17px;height:1px;background:#b7c6af}
.jg-flow li{position:relative;padding:0!important;margin:0!important;min-width:0}
.jg-flow li:before{display:none!important}
.jg-flow li>span{width:35px;height:35px;border:1px solid #98ad8f;background:#f2f4e9;color:#354b32;display:grid;place-items:center;border-radius:50%;font:700 13px/1 'DM Sans',Arial,sans-serif;position:relative}
.jg-flow li:last-child>span{background:#35503b;color:#fff;border-color:#35503b}
.jg-flow li>p{font:600 13px/1.45 'DM Sans',Arial,sans-serif;color:#334c3b;margin:12px 0 0;overflow-wrap:anywhere}
.jg-flow-caption{font:400 13px/1.6 'DM Sans',Arial,sans-serif;color:#52634f;margin:22px 0 18px;max-width:65ch}
.jg-inout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;background:#eff1e7;padding:16px;border-radius:8px}
.jg-inout>div{min-width:0}
.jg-inout dt{font:700 12px/1.4 'DM Sans',Arial,sans-serif;color:#73532d;margin-bottom:6px}
.jg-inout dd{font:500 13px/1.5 'DM Sans',Arial,sans-serif;color:#364b38;margin:0}
.jg-tool-details{margin-bottom:20px}
.jg-tool-details summary,.jg-project-details summary{cursor:pointer;font:700 14px/1.5 'DM Sans',Arial,sans-serif;min-height:44px;padding:11px 0;color:#694a25;text-underline-offset:4px}
.jg-tool-details summary:hover,.jg-project-details summary:hover{text-decoration:underline}
.jg-tool-details[open] summary,.jg-project-details[open] summary{margin-bottom:8px}
.jg-tool-details>div{padding:0 0 12px;font:400 14px/1.7 'DM Sans',Arial,sans-serif;color:#465b4c}
.jg-tool-details h3{font-size:15px;color:#2e4736;margin:8px 0}
.jg-tool-details ol{padding-left:22px;margin:8px 0 18px}
.jg-tool-details li{margin-bottom:9px}
.jg-tool-details a,.jg-project-details a{color:#66471f;text-decoration:underline;text-underline-offset:4px}
.jg-rating-note{font-size:12px!important;color:#58644e}
.jg-rate{padding:9px 12px;background:#f2eadb;border:1px solid #ac9775;border-radius:5px;color:#594122;font:600 12px/1.5 'DM Sans',Arial,sans-serif;cursor:pointer}
.jg-tool-actions{margin-top:auto;grid-template-columns:1.3fr 1fr}
.jg-tool-actions .jg-open{color:#fff;background:#35503b;border-color:#35503b}
.jg-tool-actions .jg-manual-link{color:#4e472f;background:#f3eee1;border:1px solid #c9c4ae;text-decoration:none}
.jg-modal-content>h2{letter-spacing:-.03em}.jg-modal-note{border-left:0;border-top:1px solid #baaa8c;border-radius:0}.jg-modal::backdrop{backdrop-filter:none}
.gl-hero{background:#273b35;padding:60px 0}
.gl-hero h1{letter-spacing:-.03em;font-size:clamp(38px,5.5vw,70px);line-height:1.06;margin:0 0 22px}
.gl-hero h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:#e8c99c}
.gl-hero p{max-width:67ch;color:#dce6db}
.gl-main{background:var(--jg-paper)}
.gl-panel{border-radius:12px;box-shadow:none;border-color:#d4d7c7}
.gl-panel-dark,.gl-latest,.gl-how{background:#2a3e35;color:#fff4df}
.gl-latest{border-left:0;border-top:1px solid #c3a980}
.gl-latest h2{letter-spacing:-.03em}
.gl-panel-dark p,.gl-latest p,.gl-how p{color:#d6e3d3}
.gl-panel-dark a{color:#f1d3a1}
.gl-section-head h2{color:#2b3e32;letter-spacing:-.03em}
.gl-search{border-radius:7px;background:#fffdf7;border-color:#c3cbb8;color:#293f32;min-height:52px}
.gl-search::placeholder{color:#566750;opacity:1}
.gl-chip{background:#fffdf7;color:#42583d;border-color:#bec8b3;min-height:40px}
.gl-chip.is-active{background:#354d38;border-color:#354d38}
.gl-grid{gap:28px;align-items:stretch}
.gl-card{background:#fffdf8;border:1px solid #d0d5c4;border-radius:14px;box-shadow:none;padding:28px;transition:border-color .2s}
.gl-card:hover{transform:none;box-shadow:none;border-color:#8f9f8c}
.gl-card h2{color:#2b4133;font:700 clamp(24px,2.4vw,30px)/1.15 'Manrope',Arial,sans-serif;letter-spacing:-.025em;margin:0 0 14px}
.gl-card .gl-category{background:#eaf0e1;color:#42613c;letter-spacing:.03em}
.gl-card .gl-repo{font:400 12px/1.5 'DM Sans',Arial,sans-serif;color:#526147!important;overflow-wrap:anywhere}
.gl-card .gl-what{font-size:15px;line-height:1.7;color:#435a46;max-width:65ch;margin:15px 0 20px}
.jg-project-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0;list-style:none;border-top:1px solid #d5dbc9;border-bottom:1px solid #d5dbc9;margin:0 0 8px;gap:18px}
.jg-project-flow li{font:600 13px/1.5 'DM Sans',Arial,sans-serif;color:#365239;position:relative;min-width:0;overflow-wrap:anywhere}
.jg-project-flow li+li:before{content:'';position:absolute;left:-12px;top:8px;width:5px;height:5px;border-top:1px solid #8b9e7e;border-right:1px solid #8b9e7e;transform:rotate(45deg)}
.jg-project-details{margin:2px 0 10px}
.jg-project-details .gl-detail,.jg-project-details .gl-use{border:0;margin:0;padding:10px 0}
.jg-project-details :is(strong,p){color:#41553f}
.jg-project-details strong{font-size:13px}
.jg-project-details p{font-size:14px;line-height:1.65}
.jg-project-source{border-top:1px solid #d8ddce;padding-top:12px}
.jg-project-source small{display:block;color:#5a674e;font-size:11px;margin:4px 0 12px}
.jg-repo-stars{font:600 12px/1.5 'DM Sans',Arial,sans-serif;color:#73532a;padding:0 0 16px;margin:0}
.gl-card-foot{border-top:1px solid #d6dccb;margin-top:auto;gap:16px;flex-wrap:wrap;padding-top:18px}
.gl-card-foot>span{color:#59674e;font-size:12px}
.gl-card-foot a{background:#35503b;border-radius:7px;color:white;padding:12px 15px}
.gl-step{border-radius:12px;border:1px solid #61715c;background:transparent}
.gl-step b{color:#e7c799}
.gl-footlink{color:#efcf9c}
.gl-hero .gl-stat{border-radius:0;border:0;background:none;padding:0 22px 0 0;color:#e2e9da}
.gl-hero .gl-stat strong{color:#edc995}
.hero:not(.home-hero){background:#283b34;color:#fff7e9}
.hero:not(.home-hero) h1{letter-spacing:-.03em}
.hero:not(.home-hero) p{color:#dce6d5}
.article-hero .article-meta a{color:#edcf9d}
.home-hero{scroll-margin-top:88px}
@media(max-width:900px){.hero.home-hero{padding-top:16px!important}.home-hero .hero-copy{padding-top:34px}}
@media(max-width:600px){.hero.home-hero{padding-top:8px!important}}
/* Context dashboard originally assumed a 420px-wide panel; let charts shrink on phones. */
.dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important}
.gl-card:focus-within{border-color:#7c8f6c}
.jg-tools-page :focus-visible,.gl-main :focus-visible{outline:3px solid #80602b;outline-offset:4px}
.jg-consent{display:flex!important;align-items:flex-start;gap:10px;flex-wrap:wrap;font-size:12px!important;line-height:1.6}
.jg-consent input{width:18px!important;min-width:18px;height:18px!important;margin:2px 0 0!important;accent-color:#dfc391}
.jg-consent a,.jg-contact-fallback a{color:#f0d09d;text-decoration:underline;text-underline-offset:3px}
.jg-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contactStatus{color:#dce7d6;font-size:13px;line-height:1.6;min-height:2em}
#contactStatus[data-state=error]{color:#ffd4b4}
#contactStatus[data-state=success]{color:#d5efbe}
.contact-form button[disabled]{opacity:.65;cursor:wait}
.jg-contact-fallback{font-size:12px!important;line-height:1.7;color:#d9dfd1!important}
@media(max-width:1260px){.jg-site-nav .jg-nav-inner{gap:18px;width:calc(100% - 36px)}.jg-nav-links{gap:12px}.jg-site-nav .jg-nav-links>a{font-size:11px}.jg-brand small{max-width:150px}.jg-social>span{display:none}}
@media(max-width:1050px){.jg-site-nav .jg-menu-toggle{display:flex}.jg-site-nav .jg-nav-inner{min-height:78px}.jg-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#242c2c;padding:18px 24px 24px;align-items:stretch;flex-direction:column;gap:0;max-height:calc(100dvh - 78px);overflow:auto;border-top:1px solid #67705f;box-shadow:0 14px 28px #13251c33}.jg-nav-links.open{display:flex}.jg-site-nav .jg-nav-links>a{font-size:14px;padding:13px 0;white-space:normal;min-height:44px}.jg-site-nav .jg-contact-link{margin:8px 0 12px;align-self:flex-start}.jg-social>span{display:inline}}
@media(max-width:680px){.jg-catalog-grid,.gl-grid{grid-template-columns:1fr}.jg-tool-card-footer,.gl-card{padding:23px}.jg-tool-card-footer>p{min-height:0}.jg-catalog-hero,.gl-hero{padding:40px 0}.jg-catalog-heading{display:block}.jg-flow{gap:18px}.jg-inout{gap:16px;padding:14px}.jg-catalog-grid,.gl-grid{gap:22px}.jg-hero-chips{gap:10px 20px}.jg-site-signature{padding:22px}.gl-intro{margin-bottom:32px}}
@media(max-width:380px){.jg-tool-card-footer,.gl-card{padding:18px}.jg-inout{grid-template-columns:1fr;gap:12px}.jg-flow{gap:12px}.jg-flow li>p,.jg-project-flow li{font-size:12px}.jg-tool-actions{grid-template-columns:1fr}.jg-brand>span{font-size:18px}.jg-brand em{font-size:27px}}
@media(max-width:480px){.jg-flow{grid-template-columns:1fr;gap:18px}.jg-flow:before{top:17px;bottom:17px;left:17px;right:auto;width:1px;height:auto}.jg-flow li{display:grid;grid-template-columns:35px minmax(0,1fr);gap:14px;align-items:center}.jg-flow li>p{margin:0;font-size:14px;overflow-wrap:normal;word-break:normal}.jg-project-flow{grid-template-columns:1fr;gap:14px}.jg-project-flow li{font-size:14px;padding-left:15px;overflow-wrap:normal}.jg-project-flow li+li:before{left:1px;top:6px;transform:rotate(135deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{.jg-site-nav,.jg-site-signature{display:none!important}.jg-tool-details>div,.jg-project-details>div{display:block!important}.jg-tool-card,.gl-card{break-inside:avoid}}
