/* Selected Paris hero: real content over a soft scenic backdrop. */
.jg-page .jg-hero{position:relative;isolation:isolate;max-width:none;grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr);gap:clamp(36px,7vw,110px);padding:48px max(5%,calc((100vw - 1380px)/2)) 56px;background:#d4e5f2;overflow:hidden}
.jg-page .jg-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/assets/paris-hero.webp') center bottom/cover no-repeat;pointer-events:none}
.jg-page .jg-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#d6e7f4b8 0%,#d6e7f480 39%,#d6e7f420 65%,#d6e7f440 100%);pointer-events:none}
.jg-page .jg-hero-copy{padding-bottom:36px;min-width:0}
.jg-page .jg-hero h1{font-size:clamp(64px,7.1vw,104px);line-height:.98;letter-spacing:-.045em;margin:32px 0 24px!important;color:#102d4b}
.jg-page .jg-hero h1 span{color:inherit}
.jg-page .jg-hero-intro{font-size:clamp(17px,1.4vw,20px)!important;line-height:1.7;max-width:600px;color:#42586d}
.jg-page .jg-hero .jg-label{color:#486982;letter-spacing:.06em}
.jg-page .jg-hero .jg-actions{margin-top:26px;gap:16px}
.jg-page .jg-hero .jg-button{font-size:16px;min-height:54px;padding:14px 24px}
.jg-page .jg-hero .jg-button-outline{background:#dceaf459;border-color:#8da9c0}
.jg-page .jg-hero .jg-button-outline:hover{background:#e8f1f8}
.jg-page .jg-hero-portrait{position:relative;display:block;height:auto;min-height:0;width:100%;max-width:480px;padding:0;border:0;background:transparent;box-shadow:none;transform:none;margin:0;justify-self:end;overflow:visible}
.jg-page .jg-hero-portrait img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border:8px solid #f4f7f9;box-sizing:border-box;box-shadow:0 8px 32px #23415e12}
.jg-page .jg-hero-portrait:before{content:'';position:absolute;inset:-12px -12px 55px;pointer-events:none;background:linear-gradient(#315fd2,#315fd2) left top/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) left top/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) right top/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) right top/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) left bottom/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) left bottom/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) right bottom/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) right bottom/1px 20px no-repeat}
.jg-page .jg-hero-portrait figcaption{position:static;padding:10px 8px 0;background:transparent;font-size:23px;line-height:1.3;min-height:66px;box-sizing:border-box;justify-content:flex-start}
.jg-page .jg-hero-portrait figcaption span{font-size:13px;letter-spacing:.09em}
@media(max-width:760px){.jg-page .jg-hero{grid-template-columns:1fr;padding:38px 7% 40px;gap:32px}.jg-page .jg-hero:before{background-position:55% bottom;background-size:auto 100%}.jg-page .jg-hero:after{background:linear-gradient(180deg,#d6e7f4ed 0%,#d6e7f4db 42%,#d6e7f455 75%,#d6e7f420)}.jg-page .jg-hero-copy{padding-bottom:0}.jg-page .jg-hero h1{font-size:clamp(60px,13vw,84px);margin:24px 0!important}.jg-page .jg-hero-intro{font-size:17px!important}.jg-page .jg-hero .jg-button{font-size:15px;padding:12px 17px}.jg-page .jg-hero-portrait{justify-self:center;max-width:400px;width:calc(100% - 12px)}.jg-page .jg-hero-portrait figcaption{font-size:21px}}

/* One consistent frame for every personal photograph. */
.jg-page .jg-photo-frame{display:block;position:relative;height:auto;min-height:0;width:100%;max-width:430px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;overflow:visible;align-self:center;justify-self:center}
.jg-page .jg-hero-portrait{max-width:480px;justify-self:end}
.jg-page .jg-photo-frame:before{content:none}
.jg-photo-mat{position:relative;padding:8px;background:#f4f7f9;box-shadow:0 8px 32px #23415e12}
.jg-photo-mat:after{content:'';position:absolute;inset:-12px;pointer-events:none;background:linear-gradient(#315fd2,#315fd2) left top/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) left top/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) right top/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) right top/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) left bottom/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) left bottom/1px 20px no-repeat,linear-gradient(#315fd2,#315fd2) right bottom/20px 1px no-repeat,linear-gradient(#315fd2,#315fd2) right bottom/1px 20px no-repeat}
.jg-page .jg-photo-frame img{position:static;display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;clip-path:none}
.jg-page .jg-photo-frame figcaption{position:static;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:22px 0 0;background:transparent;color:#193859;font:italic 23px/1.3 Georgia,serif}
.jg-page .jg-photo-frame figcaption span{margin-top:5px;font:normal 14px/1.4 Arial,sans-serif;letter-spacing:.09em;color:#516980}
.jg-page .jg-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:.98}
@media(max-width:760px){.jg-page .jg-photo-frame{width:calc(100% - 24px);max-width:400px;justify-self:center}.jg-page .jg-photo-frame figcaption{font-size:21px}.jg-page .jg-hero h1{font-size:clamp(54px,13vw,84px)}}
