@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;0,700&display=swap');

html.jg-global-active, html.jg-global-active body { margin: 0; background: #f5f2e9; color: #18201d; }
html.jg-global-active body { font-family: 'DM Sans', Inter, Arial, sans-serif; }
html.jg-global-active * { box-sizing: border-box; }
html.jg-global-active a { color: inherit; text-decoration: none; }

.jg-global { min-height: 100vh; background: #f5f2e9; }
.jg-global-header { min-height: 80px; max-width: 1440px; margin: 0 auto; padding: 1rem clamp(1.25rem, 4vw, 4.5rem); border-bottom: 1px solid #d6d1c5; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.jg-global-brand { display: inline-flex; align-items: center; gap: 1rem; font-weight: 700; font-size: 1rem; line-height: .82; letter-spacing: -.07em; }
.jg-global-brand em { color: #a73728; font: 500 .65rem/1 'DM Mono', monospace; letter-spacing: .14em; font-style: normal; }
.jg-global-header nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.7rem); font: 600 .7rem/1 'DM Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.jg-global-header nav a { padding: .45rem 0; border-bottom: 1px solid transparent; }
.jg-global-header nav a:hover, .jg-global-header nav a:focus-visible, .jg-global-header nav a[aria-current="page"] { color: #a73728; border-color: #a73728; }

.jg-global-hero { min-height: 520px; max-width: 1440px; margin: 0 auto; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 9vw, 9rem); background: radial-gradient(circle at 75% 40%, rgba(183,96,51,.5), transparent 34%), linear-gradient(125deg, #17211d, #36443a 52%, #18201d); color: #f7f3e9; }
.jg-global-eyebrow { margin: 0 0 1rem; color: #a73728; font: 500 .68rem/1.35 'DM Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.jg-global-hero .jg-global-eyebrow { color: #e5b9aa; }
.jg-global-hero h1 { max-width: 780px; margin: 0; font: 600 clamp(3.2rem, 7.3vw, 7rem)/.91 'Playfair Display', Georgia, serif; letter-spacing: -.055em; text-wrap: balance; }
.jg-global-hero > p:not(.jg-global-eyebrow) { max-width: 625px; margin: 1.6rem 0 0; color: rgba(247,243,233,.9); font-size: clamp(1rem, 1.45vw, 1.18rem); line-height: 1.6; }
.jg-global-hero__note { font-size: .82rem !important; color: #dfb7a7 !important; }
.jg-global-hero a { border-bottom: 1px solid currentColor; }

.jg-global-directory { max-width: 1280px; margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 4.5rem); }
.jg-global-directory__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.jg-global-directory h2, .jg-global-principles h2, .jg-global-article h1, .jg-global-error h1 { margin: 0; font: 600 clamp(2.3rem, 4.3vw, 4.5rem)/.97 'Playfair Display', Georgia, serif; letter-spacing: -.045em; text-wrap: balance; }
.jg-global-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid #d6d1c5; background: #d6d1c5; }
.jg-global-card { min-width: 0; display: grid; grid-template-columns: 120px 1fr; gap: 1.5rem; padding: clamp(1.2rem, 2.4vw, 2rem); background: #f5f2e9; }
.jg-global-card:hover { background: #efe9dc; }
.jg-global-card__mark { min-height: 150px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(145deg, #26352d, #15201b); color: #f8f5eb; }
.jg-global-card__mark span { font: 600 2.2rem/.8 'Playfair Display', Georgia, serif; letter-spacing: -.1em; }
.jg-global-card__mark small { color: #dca99c; font: .54rem/1.25 'DM Mono', monospace; letter-spacing: .1em; }
.jg-global-card__visual { position: relative; min-height: 150px; overflow: hidden; display: block; background: #26352d; }
.jg-global-card__visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .45s ease; }
.jg-global-card__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 34%, rgba(13,20,17,.72)); }
.jg-global-card__visual span { position: absolute; z-index: 1; left: .75rem; bottom: .7rem; color: #fff8ec; font: 500 .53rem/1.2 'DM Mono', monospace; letter-spacing: .1em; }
.jg-global-card:hover .jg-global-card__visual img { transform: scale(1.045); }
.jg-global-card__place { margin: 0 0 .55rem; color: #a73728; font: 500 .66rem/1.35 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.jg-global-card h2 { margin: 0; font: 600 clamp(1.4rem, 2.4vw, 2rem)/1.05 'Playfair Display', Georgia, serif; letter-spacing: -.025em; }
.jg-global-card h2 a:hover { color: #a73728; }
.jg-global-card__copy > p:not(.jg-global-card__place):not(.jg-global-card__rank) { margin: .9rem 0; color: #596159; font-size: .9rem; line-height: 1.55; }
.jg-global-card__rank { margin: 1rem 0 .65rem; color: #6e7169; font: .64rem/1.35 'DM Mono', monospace; letter-spacing: .06em; }
.jg-global-link { display: inline-block; color: #a73728; border-bottom: 1px solid currentColor; padding-bottom: .25rem; font: 600 .7rem/1.3 'DM Sans', sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.jg-global-link:hover { color: #18201d; }
.jg-global-loading { margin: 0; padding: 2rem; background: #f5f2e9; color: #6e7169; }

.jg-global-principles { max-width: 1440px; margin: 0 auto; padding: clamp(3.3rem, 6vw, 6rem) clamp(1.25rem, 8vw, 8rem); display: grid; grid-template-columns: minmax(260px, .9fr) minmax(300px, .8fr); gap: clamp(2rem, 11vw, 11rem); background: #a73728; color: #fff7ef; }
.jg-global-principles .jg-global-eyebrow { color: #f1c7ba; }
.jg-global-principles p:last-child { max-width: 500px; margin: 0; font-size: 1.06rem; line-height: 1.65; color: rgba(255,247,239,.94); }

.jg-global-article { width: min(1000px, 100%); margin: 0 auto; padding: 1.5rem clamp(1.25rem, 5vw, 4rem) clamp(4rem, 9vw, 8rem); }
.jg-global-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; color: #6e7169; font: .66rem/1.4 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.jg-global-breadcrumb a { color: #a73728; }
.jg-global-article__header { max-width: 850px; padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.4rem, 5vw, 4rem); border-bottom: 1px solid #d6d1c5; }
.jg-global-article__header h1 { max-width: 830px; }
.jg-global-article__deck { max-width: 680px; margin: 1.5rem 0 0; color: #576057; font: 400 clamp(1.1rem, 1.7vw, 1.36rem)/1.5 'DM Sans', sans-serif; }
.jg-global-article__rank { margin: 1.2rem 0 0; color: #a73728; font: 500 .68rem/1.4 'DM Mono', monospace; letter-spacing: .085em; text-transform: uppercase; }
.jg-global-article__byline { margin: .65rem 0 0; color: #6e7169; font: 500 .64rem/1.4 'DM Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.jg-global-share { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; color: #6e7169; font: 500 .65rem/1 'DM Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.jg-global-share button { border: 1px solid #d6d1c5; padding: .52rem .65rem; cursor: pointer; background: transparent; color: #18201d; font: 600 .63rem/1 'DM Sans', sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.jg-global-share button:hover { border-color: #a73728; background: #a73728; color: #fff; }
.jg-global-article__illustration { width: min(100%, 920px); margin: 0 auto; padding-top: clamp(1.75rem, 4vw, 3.25rem); }
.jg-global-article__illustration img { width: 100%; aspect-ratio: 3 / 2; display: block; object-fit: cover; background: #26352d; }
.jg-global-article__illustration figcaption { margin-top: .75rem; color: #6e7169; font: .62rem/1.45 'DM Mono', monospace; letter-spacing: .04em; }
.jg-global-article__body { width: min(720px, 100%); margin: 0 auto; padding-top: clamp(2rem, 5vw, 4.5rem); }
.jg-global-disclosure { margin: 0 0 2.4rem; padding: 1.2rem 1.3rem; border-left: 3px solid #a73728; background: #ece9df; }
.jg-global-disclosure strong { display: block; color: #a73728; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.jg-global-disclosure p { margin: .55rem 0 0; color: #4f574f; font-size: .88rem; line-height: 1.5; }
.jg-global-prose { font-size: clamp(1rem, 1.3vw, 1.08rem); line-height: 1.75; }
.jg-global-prose p { margin: 0 0 1.35rem; }
.jg-global-prose h2 { margin: 2.5rem 0 1rem; font: 600 clamp(1.8rem, 3vw, 2.5rem)/1 'Playfair Display', Georgia, serif; letter-spacing: -.03em; }
.jg-global-prose ul { margin: 0 0 1.35rem; padding-left: 1.3rem; }
.jg-global-prose li { margin: .5rem 0; }
.jg-global-prose a { color: #a73728; border-bottom: 1px solid currentColor; }
.jg-global-source-links { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #d6d1c5; }
.jg-global-source-links > div { display: flex; flex-wrap: wrap; gap: 1rem; }
.jg-global-source-links a { color: #a73728; border-bottom: 1px solid currentColor; font-size: .86rem; }
.jg-global-article__footer { width: min(720px, 100%); margin: 3rem auto 0; padding-top: 1.5rem; border-top: 1px solid #d6d1c5; }
.jg-global-error { width: min(850px, 100%); margin: 0 auto; padding: clamp(4rem, 10vw, 10rem) clamp(1.25rem, 5vw, 4rem); }

.jg-global-footer { min-height: 90px; padding: 2rem clamp(1.25rem, 4vw, 4.5rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #18201d; color: #f6f2e7; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.jg-global-footer a { color: #e7a39b; }
.jg-global-footer span { color: #d3d1c8; font: italic 1rem/1.3 'Playfair Display', Georgia, serif; letter-spacing: 0; text-transform: none; }

@media (max-width: 760px) {
  .jg-global-header { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .jg-global-header nav { width: 100%; justify-content: space-between; gap: .5rem; font-size: .59rem; }
  .jg-global-grid { grid-template-columns: 1fr; }
  .jg-global-card { grid-template-columns: 94px 1fr; gap: 1rem; }
  .jg-global-card__mark { min-height: 130px; }
  .jg-global-card__visual { min-height: 130px; }
  .jg-global-principles { grid-template-columns: 1fr; gap: 1.5rem; }
  .jg-global-footer { align-items: flex-start; flex-direction: column; }
}
