.jg-page-shell {
  --jg-navy: #04182e; --jg-navy-soft: #0b2948; --jg-blue: #006fa8; --jg-blue-bright: #1999d0;
  --jg-ice: #e9f3f8; --jg-paper: rgba(250,252,253,.94); --jg-ink: #0a2035; --jg-muted: #5e6d7a;
  --jg-line: rgba(4,24,46,.12); --jg-shadow: 0 28px 70px rgba(0,13,31,.22); --jg-font: "Outfit", Arial, sans-serif;
  position: relative; left: 50%; width: 100vw; min-height: 100vh; margin-left: -50vw; overflow: hidden;
  color: var(--jg-ink); font-family: var(--jg-font); line-height: 1.6;
  background: radial-gradient(circle at 8% 10%,rgba(25,153,208,.28),transparent 30%), radial-gradient(circle at 95% 34%,rgba(98,117,136,.34),transparent 28%), linear-gradient(145deg,#031326 0%,#061d35 48%,#102b43 100%);
}
.jg-page-shell *, .jg-page-shell *::before, .jg-page-shell *::after { box-sizing: border-box; }
.jg-page-shell :is(h1,h2,h3,p) { margin: 0; }
.jg-page-shell a { color: inherit; }
.jg-page-shell img { display: block; max-width: 100%; }
.jg-page { width: min(1120px,calc(100% - 34px)); margin: 0 auto; padding: 48px 0 72px; }
.jg-left-column,.jg-right-column { min-width: 0; }
.jg-card { overflow: hidden; background: var(--jg-paper); border: 1px solid rgba(255,255,255,.58); box-shadow: var(--jg-shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.jg-profile-card { border-radius: 30px; }
.jg-portrait { position: relative; aspect-ratio: 1/1.04; overflow: hidden; background: #28323a; }
.jg-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(2,16,34,.78),transparent 46%); pointer-events: none; }
.jg-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transform: scale(1.3); transform-origin: 50% 0; }
.jg-location-chip { position: absolute; z-index: 1; left: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: .78rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.jg-location-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--jg-blue-bright); box-shadow: 0 0 0 5px rgba(25,153,208,.2); }
.jg-profile-info { padding: 27px 28px 30px; }
.jg-brand { width: min(168px,52%); height: auto; }
.jg-brand-link { display: inline-block; border-radius: 4px; text-decoration: none!important; }
.jg-brand-signature { margin-top: 22px; padding-top: 19px; border-top: 1px solid var(--jg-line); }
.jg-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; color: var(--jg-blue); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.jg-eyebrow::before { content: ""; width: 30px; height: 2px; background: currentColor; }
.jg-page-shell h1 { max-width: none; color: var(--jg-navy); font-family: var(--jg-font); font-size: clamp(1.89rem,5.6vw,2.555rem); font-weight: 500; line-height: .95; letter-spacing: -.045em; white-space: nowrap; }
.jg-profile-summary { margin-top: 18px!important; color: var(--jg-muted); font-size: 1rem; line-height: 1.55; }
.jg-profile-summary strong { color: var(--jg-navy); font-weight: 600; }
.jg-hours { margin-top: 15px!important; color: var(--jg-muted); font-size: .9rem; line-height: 1.55; }
.jg-hours strong { color: var(--jg-blue); font-weight: 600; }
.jg-credentials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.jg-credential { padding: 7px 11px; border: 1px solid rgba(0,111,168,.18); border-radius: 999px; background: var(--jg-ice); color: var(--jg-navy); font-size: .78rem; font-weight: 600; letter-spacing: .025em; }
.jg-actions,.jg-location-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.jg-button-primary,.jg-button-secondary,.jg-phone-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 11px 18px; border-radius: 999px; font-family: var(--jg-font); font-size: .88rem; font-weight: 600; line-height: 1.2; text-decoration: none!important; transition: transform .2s ease,box-shadow .2s ease,background .2s ease; }
.jg-button-primary,.jg-phone-button { color: #fff!important; background: var(--jg-blue); box-shadow: 0 12px 26px rgba(0,111,168,.24); }
.jg-button-secondary { color: var(--jg-navy)!important; border: 1px solid var(--jg-line); background: transparent; }
.jg-button-primary:hover,.jg-phone-button:hover { transform: translateY(-2px); background: #005f90; }
.jg-button-secondary:hover { transform: translateY(-2px); background: var(--jg-ice); }
.jg-button-primary svg,.jg-phone-button svg { width: 17px; height: 17px; }
.jg-section-card { margin-top: 17px; padding: 31px 28px; border-radius: 28px; }
.jg-section-title { position: relative; padding-left: 18px; margin-bottom: 20px; }
.jg-section-title::before { content: ""; position: absolute; left: 0; top: 3px; width: 3px; height: calc(100% - 5px); border-radius: 999px; background: linear-gradient(var(--jg-blue-bright),var(--jg-blue)); }
.jg-section-title span { display: block; color: var(--jg-blue); font-size: .76rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.jg-page-shell h2 { margin-top: 5px; color: var(--jg-navy); font-family: var(--jg-font); font-size: clamp(1.4rem,4.2vw,2.1rem); font-weight: 500; line-height: 1.02; letter-spacing: -.04em; }
.jg-section-card>p,.jg-curriculum p,.jg-address { color: var(--jg-muted); font-size: 1rem; }
.jg-section-card>p+p,.jg-curriculum p+p { margin-top: 14px; }
.jg-statement { margin: 22px 0 4px!important; padding: 20px 22px; border-radius: 18px; background: linear-gradient(125deg,var(--jg-navy),var(--jg-navy-soft)); color: #fff!important; font-size: clamp(1rem,3.2vw,1.32rem)!important; font-weight: 300; line-height: 1.25; letter-spacing: -.02em; }
.jg-statement strong { color: #71c6e8; font-weight: 500; }
.jg-areas-grid { display: grid; gap: 11px; }
.jg-area { position: relative; min-height: 126px; padding: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 19px; overflow: hidden; color: #fff; background: var(--jg-navy); }
.jg-area:nth-child(2),.jg-area:nth-child(5) { background: var(--jg-blue); }
.jg-area:nth-child(3) { background: #435361; }
.jg-area:nth-child(4) { color: var(--jg-navy); background: var(--jg-ice); border-color: rgba(0,111,168,.12); }
.jg-area::after { content: attr(data-number); position: absolute; right: 12px; bottom: -27px; font-size: 6.2rem; font-weight: 600; line-height: 1; opacity: .075; }
.jg-page-shell h3 { position: relative; z-index: 1; max-width: 180px; color: inherit; font-family: var(--jg-font); font-size: 1.18rem; font-weight: 500; line-height: 1.08; }
.jg-area p { position: relative; z-index: 1; margin-top: 11px; color: inherit; font-size: .86rem; line-height: 1.45; opacity: .76; }
.jg-location-card { padding: 23px; border: 1px solid rgba(0,111,168,.12); border-radius: 21px; background: linear-gradient(135deg,var(--jg-ice),#fff); }
.jg-location-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.jg-location-name { color: var(--jg-navy); font-size: 1.65rem; font-weight: 500; line-height: 1; }
.jg-schedule { padding: 7px 10px; border-radius: 999px; color: var(--jg-blue); background: rgba(0,111,168,.09); font-size: .76rem; font-weight: 600; white-space: nowrap; }
.jg-address { margin-top: 15px!important; font-size: .95rem!important; }
.jg-contacts { display: flex; flex-wrap: wrap; gap: 9px 16px; margin-top: 15px; color: var(--jg-navy); font-size: .9rem; font-weight: 600; }
.jg-contact-item { display: inline-flex; align-items: center; gap: 7px; text-decoration: none!important; }
.jg-contact-item svg { width: 16px; height: 16px; color: var(--jg-blue); flex-shrink: 0; }
.jg-map { margin-top: 18px; overflow: hidden; border: 1px solid rgba(0,111,168,.13); border-radius: 15px; }
.jg-map iframe { display: block; width: 100%; height: 205px; border: 0; }
.jg-location-actions { margin-top: 17px; }
.jg-footer { padding: 26px 14px 0; color: rgba(232,243,250,.72); text-align: center; font-size: .78rem; line-height: 1.75; }
.jg-footer strong { color: #fff; font-weight: 500; }
.jg-page-shell a:focus-visible { outline: 3px solid var(--jg-blue-bright); outline-offset: 3px; }
@media (min-width:640px) { .jg-areas-grid{grid-template-columns:repeat(2,1fr)} .jg-area:last-child{grid-column:1/-1;min-height:108px} .jg-section-card{padding:37px} }
@media (min-width:900px) { .jg-page{display:grid;grid-template-columns:390px 1fr;align-items:start;gap:27px;padding-top:58px} .jg-left-column{position:sticky;top:28px} .jg-right-column{display:grid;gap:17px} .jg-section-card{margin-top:0} .jg-page-shell h1{font-size:2.555rem} }
@media (max-width:470px) { .jg-page{width:min(100% - 22px,420px);padding-top:16px} .jg-profile-card,.jg-section-card{border-radius:23px} .jg-profile-info,.jg-section-card{padding-left:21px;padding-right:21px} .jg-location-top{display:block} .jg-schedule{display:inline-flex;margin-top:11px;white-space:normal} .jg-button-primary,.jg-button-secondary{flex:1} .jg-location-card{padding:19px} }
@media (prefers-reduced-motion:reduce) { .jg-page-shell *,.jg-page-shell *::before,.jg-page-shell *::after{transition:none!important} }
