/* Joshua Galarza — bright, structured portfolio direction. */
:root{--jg-blue:#2556cf;--jg-ink:#132b49;--jg-muted:#526172;--jg-line:#cad5df;--jg-sky:#edf3f8}
html{scroll-padding-top:80px;scroll-behavior:smooth}body{background:#f6f8fa;color:var(--jg-ink);margin:0}body:before,body:after{display:none!important}
.jg-page{font-family:Arial,Helvetica,sans-serif;color:var(--jg-ink);background:#f6f8fa;line-height:1.6;overflow:clip}
.jg-page *{box-sizing:border-box}.jg-page h1,.jg-page h2,.jg-page h3,.jg-page p,.jg-page figure{margin:0}.jg-page img{display:block;max-width:100%}.jg-page a{color:inherit;text-decoration:none}.jg-page button{font:inherit;color:inherit}.jg-page h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(32px,3.2vw,48px);font-weight:750;letter-spacing:-.055em;line-height:1.08;white-space:pre-line}.jg-page h3{font-size:23px;line-height:1.2;letter-spacing:-.025em}.jg-page p{font-size:16px}.jg-page a:focus-visible,.jg-page button:focus-visible,.jg-page summary:focus-visible{outline:3px solid #c59023;outline-offset:5px}
.jg-label{font-size:12px!important;letter-spacing:.12em;font-weight:700;line-height:1.5!important;text-transform:uppercase;color:var(--jg-blue);margin-bottom:16px!important}.jg-skip{position:absolute;top:-100px;left:20px;z-index:200;background:white;padding:10px}.jg-skip:focus{top:10px}
.jg-nav{height:80px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--jg-line);background:#f6f8faf5;position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.jg-brand{display:flex;align-items:center;gap:13px;font-weight:750;font-size:13px;letter-spacing:.075em}.jg-monogram{display:grid;place-items:center;width:39px;height:39px;border:2px solid #b39148;font-family:Georgia,serif;font-size:23px;letter-spacing:-.04em;color:#1c416b}.jg-links{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}.jg-links a{padding:10px 0}.jg-links a:hover{color:var(--jg-blue)}.jg-links .jg-nav-resume{border:1px solid var(--jg-line);padding:8px 16px}.jg-menu{display:none}
.jg-hero{max-width:1500px;margin:auto;padding:44px 5% 36px;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.88fr) minmax(120px,.35fr);gap:28px;align-items:center}.jg-hero h1{font-size:clamp(62px,6.9vw,106px);font-weight:850;line-height:.89;letter-spacing:-.075em;margin:24px 0!important}.jg-hero h1 span{color:var(--jg-blue)}.jg-hero-intro{max-width:435px;font-size:17px!important;line-height:1.7;color:var(--jg-muted)}.jg-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.jg-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--jg-blue);color:#fff!important;padding:12px 20px;font-weight:600;font-size:14px;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s}.jg-button:hover{background:#1747b5;transform:translateY(-2px)}.jg-button-outline{background:transparent;color:var(--jg-ink)!important;border-color:#aab9c8}.jg-button-outline:hover{background:#e6edf5}.jg-hero-portrait{align-self:stretch;position:relative;background:#d6e3ef;border-radius:0;overflow:hidden;min-height:415px}.jg-hero-portrait img{width:100%;height:100%;max-height:520px;object-fit:cover;object-position:78% center}.jg-hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:#f6f8faf0;font-size:14px;font-weight:600;display:flex;flex-direction:column}.jg-hero-portrait figcaption span{font-size:12px;letter-spacing:.1em;color:var(--jg-muted)}.jg-hero-notes{border-left:1px solid var(--jg-line);padding-left:20px}.jg-hero-notes>div+div{border-top:1px solid var(--jg-line);padding-top:20px;margin-top:20px}.jg-hero-notes .jg-label{font-size:12px!important;margin-bottom:8px!important}.jg-hero-notes p{font-size:17px;line-height:1.45;font-weight:600}.jg-hero-notes small{font-size:13px;font-weight:400}.jg-text-link{display:inline-block;font-size:14px;font-weight:650;padding:10px 0 4px;border-bottom:1px solid currentColor;line-height:1.4}.jg-hero-notes .jg-text-link{font-size:12px}
.jg-capability-strip{background:#e4ecf5;border-block:1px solid var(--jg-line);padding:16px 5%;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:12px;letter-spacing:.1em;font-weight:700}.jg-capability-strip span+span{border-left:1px solid #b8c8d8;padding-left:24px}
.jg-section{max-width:1500px;margin:auto;padding:58px 5%}.jg-section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:30px}.jg-section-heading>div{max-width:650px}.jg-section-heading>p{max-width:395px;color:var(--jg-muted);line-height:1.7}.jg-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.jg-project{display:block;width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer}.jg-project-art{height:340px;background:#dce6e9;position:relative;overflow:hidden;border-radius:5px}.jg-project-art.fpp{background:#dce5f2}.jg-art-label{position:absolute;top:16px;left:18px;font-size:12px;font-weight:700;letter-spacing:.1em}.jg-art-platform{position:absolute;bottom:14px;right:16px;font-size:12px;font-weight:600;letter-spacing:.08em}.jg-project-art img{position:absolute;object-fit:contain;background:#fff;padding:4px;box-shadow:0 10px 24px #18334b26;transition:transform .35s ease}.jg-main-post{height:272px;width:218px;top:44px;left:17%;transform:rotate(-4deg);z-index:2}.jg-support-post{height:224px;width:180px;top:64px;right:12%;transform:rotate(6deg)}.jg-project:hover .jg-main-post{transform:rotate(-1deg) translateY(-4px)}.jg-project:hover .jg-support-post{transform:rotate(3deg) translateX(6px)}.jg-project-description{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-top:20px}.jg-project-description p{font-size:14px;color:var(--jg-muted);margin-top:6px}.jg-open{width:36px;height:36px;display:grid;place-items:center;border:1px solid #aabcce;border-radius:50%;font-size:22px;flex-shrink:0}.jg-project-scope{font-size:13px!important;color:var(--jg-muted);margin-top:12px!important}.jg-project .jg-text-link{color:var(--jg-blue)}
.jg-concepts{background:#edf2f6;border-block:1px solid var(--jg-line)}.jg-concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.jg-concept-image{height:300px;background:#dfe7ee;padding:16px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-bottom:20px;overflow:hidden}.jg-concept-image img{height:100%;width:100%;min-height:0;min-width:0;object-fit:contain;transition:transform .35s}.jg-concept:hover .jg-concept-image img{transform:scale(1.025)}.jg-concept h3{font-size:23px;max-width:340px}.jg-concept .jg-label{font-size:12px!important;margin-bottom:8px!important}.jg-concept details{margin-top:13px;border-top:1px solid var(--jg-line);padding-top:10px}.jg-concept summary{cursor:pointer;font-size:14px;font-weight:650;color:var(--jg-blue);padding:4px 0}.jg-concept details p{font-size:15px;line-height:1.7;margin-top:12px}.jg-concept small{display:block;color:var(--jg-muted);font-size:12px;line-height:1.6;margin-top:14px}
.jg-about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:center}.jg-about-portrait{height:485px;position:relative;max-width:430px;background:#e4ecf3;border-radius:0;overflow:hidden}.jg-about-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 30%}.jg-about-portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:#eef3f9ed;padding:15px 22px;font-weight:700;font-size:14px;display:flex;flex-direction:column}.jg-about-portrait figcaption span{font-size:12px;font-weight:400;letter-spacing:.06em}.jg-about-copy>p:not(.jg-label){color:var(--jg-muted);margin-top:18px;line-height:1.7}.jg-personal-note{padding-left:16px;border-left:2px solid #b39148}.jg-tools{border-top:1px solid var(--jg-line);margin-top:22px;padding-top:20px}.jg-tools .jg-label{font-size:12px!important;margin-bottom:12px!important}.jg-tools>div{display:flex;gap:10px;flex-wrap:wrap}.jg-tools span{background:#e4ecf5;padding:6px 12px;font-size:13px;font-weight:600;border-radius:2px}.jg-tools>p:last-child{font-size:13px;color:var(--jg-muted);margin-top:12px}
.jg-process{border-block:1px solid var(--jg-line);background:#e7eff8}.jg-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.jg-process-grid article{border-top:2px solid #7d9cbe;padding-top:16px}.jg-process-grid article>span{font-size:12px;font-weight:700;color:var(--jg-blue)}.jg-process-grid h3{margin:8px 0 10px}.jg-process-grid p{color:var(--jg-muted);font-size:15px;line-height:1.7}.jg-background-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}.jg-employment>article{padding:23px 0;border-top:1px solid var(--jg-line)}.jg-employment>article:first-child{border-top:3px solid var(--jg-blue)}.jg-employment .jg-label{font-size:12px!important;margin-bottom:9px!important}.jg-employment p:not(.jg-label){color:var(--jg-muted);margin-top:10px;line-height:1.7}.jg-employment .jg-organization{font-size:14px!important;font-weight:600;color:var(--jg-ink)!important}.jg-education{background:#eaf0f6;padding:28px;border-radius:4px;align-self:start}.jg-education article{margin-bottom:24px}.jg-education h3{font-size:20px}.jg-education article p{font-size:14px;color:var(--jg-muted);margin-top:8px}.jg-credentials{border-top:1px solid var(--jg-line);padding-top:22px}.jg-credentials ul{padding-left:17px;margin:0 0 16px}.jg-credentials li{font-size:14px;margin:8px 0}.jg-credentials .jg-label{font-size:12px!important}
.jg-contact{background:#2556cf;color:#fff;padding:46px 5%;display:grid;grid-template-columns:1.5fr 1fr;gap:70px}.jg-contact h2{font-size:clamp(38px,4.2vw,62px);letter-spacing:-.055em}.jg-contact .jg-label{color:#d8e6ff}.jg-contact>div>p:not(.jg-label){max-width:590px;margin-top:18px;color:#e9efff;line-height:1.7}.jg-contact .jg-button{background:#fff;color:#1742a8!important}.jg-contact-link{font-size:14px;border-bottom:1px solid #b7cdff;padding:8px 0}.jg-contact aside{align-self:center;border-left:1px solid #7c9fed;padding-left:34px}.jg-contact aside>a{display:block;margin:13px 0;font-size:clamp(14px,1.6vw,21px);overflow-wrap:anywhere}.jg-contact aside>p{font-size:14px;line-height:1.7;margin-top:22px;color:#e9efff}.jg-footer{display:flex;justify-content:space-between;gap:24px;padding:20px 5%;align-items:center;border-top:1px solid var(--jg-line)}.jg-footer p,.jg-footer a{font-size:12px;color:var(--jg-muted)}
@keyframes jg-enter{from{opacity:.2;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.jg-reveal.arrived{animation:jg-enter .55s ease both}
@media(min-width:1500px){.jg-capability-strip,.jg-contact,.jg-nav,.jg-footer{padding-inline:max(5%,calc((100% - 1350px)/2))}}
@media(max-width:1100px){.jg-hero{grid-template-columns:1.15fr 1fr}.jg-hero-notes{grid-column:1/-1;display:flex;justify-content:space-between;gap:25px;padding:18px 0 0;border:0;border-top:1px solid var(--jg-line)}.jg-hero-notes>div+div{border:0;padding:0;margin:0}.jg-hero-notes br{display:none}.jg-hero-notes p{font-size:15px}.jg-hero-notes small{display:block}.jg-hero-notes .jg-text-link{padding-top:3px}.jg-main-post{left:8%}.jg-support-post{right:7%}.jg-about{gap:34px}.jg-concept-image{height:260px}.jg-hero-portrait{min-height:380px}.jg-links{gap:18px}}
@media(max-width:760px){.jg-nav{height:68px;padding-inline:6%}.jg-brand{font-size:12px}.jg-menu{display:block;background:none;border:1px solid var(--jg-line);padding:10px 14px;font-size:14px}.jg-links{display:none;position:absolute;top:68px;left:0;right:0;padding:20px 6%;background:#f6f8fa;border-bottom:1px solid var(--jg-line);flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 15px 20px #132b4914}.jg-links.is-open{display:flex}.jg-links a{padding:12px 0;font-size:17px}.jg-nav-resume{margin-top:8px}.jg-hero{padding:30px 6%;gap:25px;grid-template-columns:1fr}.jg-hero h1{font-size:clamp(62px,13vw,96px);margin:18px 0!important}.jg-hero-intro{font-size:16px!important;max-width:100%}.jg-hero-portrait{min-height:0;height:360px;max-width:480px;width:100%;justify-self:center;border-top-left-radius:0}.jg-hero-portrait img{object-position:78% 38%}.jg-hero-notes{gap:12px}.jg-hero-notes .jg-label{font-size:12px!important}.jg-hero-notes p{font-size:13px}.jg-hero-notes small{font-size:12px}.jg-capability-strip{grid-template-columns:1fr 1fr;gap:12px;padding:16px 6%;font-size:12px}.jg-capability-strip span+span{border:0;padding:0}.jg-section{padding:38px 6%}.jg-section-heading{display:block;margin-bottom:24px}.jg-section-heading>p{margin-top:16px;max-width:100%;font-size:15px}.jg-project-grid{grid-template-columns:1fr;gap:30px}.jg-project-art{height:330px}.jg-main-post{left:17%}.jg-support-post{right:12%}.jg-project-description h3{font-size:23px}.jg-concept-grid{grid-template-columns:1fr;gap:30px}.jg-concept-image{height:360px;margin-bottom:16px}.jg-concept h3{max-width:100%}.jg-about{grid-template-columns:1fr;gap:28px}.jg-about-portrait{height:360px;max-width:480px;width:100%;justify-self:center}.jg-about-copy h2 br{display:none}.jg-process-grid{grid-template-columns:1fr 1fr;gap:25px}.jg-background-grid{grid-template-columns:1fr;gap:24px}.jg-education{padding:24px}.jg-contact{grid-template-columns:1fr;padding:36px 6%;gap:30px}.jg-contact aside{border-left:0;border-top:1px solid #7c9fed;padding:24px 0 0}.jg-contact aside>a{font-size:17px}.jg-footer{flex-wrap:wrap;padding:20px 6%;gap:10px}.jg-footer p:nth-child(2){order:3;width:100%}.jg-footer a{margin-left:auto}html{scroll-padding-top:68px}}
@media(max-width:380px){.jg-hero h1{font-size:59px}.jg-main-post{left:7%}.jg-support-post{right:5%}.jg-hero-notes{flex-wrap:wrap}.jg-concept-image{height:320px}.jg-process-grid{grid-template-columns:1fr}.jg-button{padding:11px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.jg-page *{animation:none!important;transition:none!important}.jg-project:hover .jg-main-post{transform:rotate(-4deg)}.jg-project:hover .jg-support-post{transform:rotate(6deg)}}
/* Project detail pages share the same light palette and type system. */
.case-modal,.case-modal-fpp,.case-modal-borrelli{--case-accent:#2556cf;--case-soft:#edf3f8;--case-dark:#1e4da9;background:#f6f8fa;border-top-color:#2556cf;font-family:Arial,Helvetica,sans-serif}
.modal-backdrop{background:#324c719e;backdrop-filter:blur(4px)}
.case-header,.case-modal-fpp .case-header{background:#edf3f8}
.case-header h2,.case-overview h3,.gallery-heading h3,.result-section h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.04em}
.modal-close{background:#2556cf;color:white;border:0;border-radius:3px;text-transform:none;letter-spacing:0}
.case-facts div,.case-overview{background:#edf3f8}
.case-logo-frame,.case-modal-fpp .case-logo-frame{padding:4px}
.case-modal-fpp .case-logo-frame img{transform:scale(1.55)}
/* Reference-led revision: layered blue-grey surfaces and a tighter rhythm. */
:root{--jg-sky:#c8d9e8;--jg-line:#aebfd0;--paper:#dce6ef;--cream:#cfdeeb}
body,.jg-page{background:#dce6ef}
.jg-nav{background:#d5e2eef5}
.jg-hero{background:#cfdeeb;padding-block:32px}
.jg-hero-portrait figcaption,.jg-about-portrait figcaption{background:#c7d9eaf5}
.jg-capability-strip{background:#b9cfe4}
.jg-section{padding-block:44px}
.jg-work{background:#dce6ef}
.jg-project-art{background:#b4cbd6}
.jg-project-art.fpp{background:#b5c9e3}
.jg-concepts{background:#c5d6e5}
.jg-concept-image{background:#b3c8dc}
.jg-about{background:#d2e0ec;gap:42px}
.jg-tools span{background:#b7cee3}
.jg-process{background:#bed2e6}
.jg-experience{background:#dce6ef}
.jg-education{background:#c2d5e6}
.jg-footer{background:#bfd2e4}
.jg-button-outline:hover{background:#bad0e5}
.case-modal,.case-modal-fpp,.case-modal-borrelli{background:#dce6ef}
.case-header,.case-modal-fpp .case-header,.case-facts div,.case-overview{background:#cfdeeb}
.case-gallery,.copy-evidence,.approach-section,.result-section,.modal-footer{background:#dce6ef}
@media(max-width:760px){.jg-links{background:#d5e2eefa}.jg-section{padding-block:32px}.jg-hero{padding-block:26px}.jg-about{gap:24px}}

/* Brand marks: restrained credibility cues for education, employers and social mockups. */
.jg-institution-logo{display:block;width:auto;height:54px;max-width:220px;object-fit:contain;object-position:left center;margin-bottom:18px}
.jg-study-grid article:nth-child(2) .jg-institution-logo{height:48px;max-width:205px}
.jg-client-name{display:flex;align-items:center;gap:12px}
.jg-client-logo{width:34px;height:34px;object-fit:contain;background:#fff;border:1px solid #b9c9d6;border-radius:50%;padding:4px}
.jg-client-name h3{margin:0}
.jg-wordmark{display:inline-flex;align-items:center;min-height:32px;margin-bottom:14px;padding:5px 10px;border:1px solid #9db2c5;background:#edf3f7;color:#12385d;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1;max-width:100%}
.jg-mrktx-mark{font-size:18px;letter-spacing:-.03em;text-transform:none;border-radius:4px}
.jg-zara-mark{font-family:Georgia,serif;font-size:17px;letter-spacing:.2em;background:#fff;color:#111;border-color:#111}
.jg-brampton-mark{font-size:9px;letter-spacing:.08em;line-height:1.25;max-width:210px}
.jg-social-avatar{overflow:hidden;padding:0}
.jg-social-avatar-image{width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.jg-social-footer{position:relative}
.jg-social-footer-logo{position:absolute;right:0;bottom:1px;width:24px;height:18px;object-fit:contain;opacity:.85}
/* Photographic paper frames; the original photographs are unchanged. */
.jg-page .jg-polaroid{display:grid;grid-template-rows:minmax(0,1fr) 66px;height:460px;width:min(100%,360px);max-width:360px;min-height:0;padding:14px 14px 0;border:1px solid #d5d6d1;border-radius:0;background:#f9f8f2;overflow:visible;justify-self:center;align-self:center;box-shadow:0 18px 32px -16px #28435e60,0 2px 4px #28435e1a;transform:rotate(1.5deg)}
.jg-page .jg-about-portrait{transform:rotate(-1.5deg)}
.jg-page .jg-polaroid img{height:100%;width:100%;min-height:0;object-fit:cover;max-height:none;border-radius:0;clip-path:none}
.jg-hero-portrait figcaption,.jg-about-portrait figcaption{position:static;background:transparent;padding:11px 7px;color:#193859;display:flex;justify-content:center;font-size:16px;font-family:Georgia,serif;font-style:italic;font-weight:400}
.jg-hero-portrait figcaption span,.jg-about-portrait figcaption span{font-family:Arial,sans-serif;font-style:normal;font-size:12px;letter-spacing:.055em;color:#617083}
.jg-hero{gap:34px;padding-block:42px}.jg-about{padding-block:52px}
/* Code-rendered phone interfaces, not fabricated social-media screenshots. */
.jg-phone-stage{height:458px;display:flex;align-items:center;justify-content:center;gap:20px;padding:42px 16px 22px;overflow:hidden}
.jg-phone{width:208px;flex:0 0 208px;padding:5px;border:2px solid #70808e;border-radius:32px;background:linear-gradient(120deg,#dbe1e5,#8d9dab 48%,#dce5eb);box-shadow:0 22px 26px -18px #18395399,0 0 0 1px #dce6ed;position:relative;transform:none;transition:transform .35s ease}
.jg-phone-screen{overflow:hidden;border:2px solid #263b4c;border-radius:25px;background:#f8fafc;color:#1d3043}
.jg-phone-top{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:12px;font-weight:700}
.jg-phone-top i{height:15px;width:63px;background:#1d2b36;border-radius:20px}
.jg-social-header{display:flex;gap:6px;align-items:center;padding:7px;font-size:12px;font-weight:600;line-height:1.25;min-height:42px}
.jg-social-header>span:nth-child(2){flex:1;min-width:0}
.jg-social-avatar{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border:1px solid #91a7bc;border-radius:50%;background:#dce8f2;color:#244b72;font-size:12px}
.jg-project-art .jg-phone-art,.jg-concept-image .jg-phone-art{position:static;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;padding:0;background:#e5edf3;box-shadow:none;transform:none!important;border:0;min-height:0;max-height:none}
.jg-social-footer{padding:6px 9px 0}
.jg-social-footer>div{display:flex;gap:11px;font-size:24px;line-height:1.15;font-weight:400}
.jg-save-mark{margin-left:auto}
.jg-social-footer p{font-size:12px!important;font-weight:600;line-height:1.3;margin-top:5px!important}
.jg-social-footer small{display:block;font-size:12px;font-weight:400;color:#62758a}
.jg-home-indicator{height:4px;width:66px;border-radius:4px;background:#20354a;margin:10px auto 6px}
.jg-phone-primary{transform:rotate(-3deg);z-index:2}.jg-phone-secondary{transform:rotate(4deg) translateY(8px)}
.jg-project:hover .jg-phone-primary{transform:rotate(-1deg) translateY(-5px)}.jg-project:hover .jg-phone-secondary{transform:rotate(2deg) translateY(3px)}
.jg-concept-phone{height:auto;min-height:440px;padding:24px 12px;overflow:visible;background:#b3c8dc}
.jg-concept-phone .jg-phone{width:224px;flex-basis:224px}
.jg-concept:hover .jg-concept-phone .jg-phone{transform:translateY(-4px)}
@media(min-width:761px) and (max-width:1100px){.jg-phone-stage{gap:10px}.jg-phone-stage .jg-phone{width:184px;flex-basis:184px}.jg-phone-stage{height:435px}.jg-page .jg-polaroid{height:435px}.jg-concept-phone .jg-phone{width:200px;flex-basis:200px}}
@media(max-width:760px){.jg-page .jg-polaroid{height:405px;width:min(360px,calc(100% - 12px))}.jg-phone-stage{height:452px}.jg-phone-stage .jg-phone-secondary{display:none}.jg-phone-stage .jg-phone-primary{width:224px;flex-basis:224px;transform:rotate(-2deg)}.jg-concept-phone{min-height:440px}.jg-hero{gap:28px}.jg-about{padding-block:40px}}
@media(prefers-reduced-motion:reduce){.jg-project:hover .jg-phone-primary{transform:rotate(-3deg)}.jg-project:hover .jg-phone-secondary{transform:rotate(4deg) translateY(8px)}.jg-concept:hover .jg-concept-phone .jg-phone{transform:none}}
.jg-phone-stage{height:490px;padding-top:60px;padding-bottom:24px}
@media(max-width:760px){.jg-phone-stage{height:500px}}

/* Final hierarchy, interaction and narrow-screen refinements. */
/* Quieter typography and readable project details. */
.jg-page .jg-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(54px,6vw,86px);line-height:1.04;letter-spacing:-.045em}
.jg-page .jg-hero h1 span{color:#344e68}
.jg-page h2{font-weight:600;letter-spacing:-.035em}
.jg-study{background:#cbd9e3;border-bottom:1px solid var(--jg-line)}
.jg-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.jg-study-grid article{border-top:1px solid #9aafc0;padding-top:20px}
.jg-study-grid h3{font-size:24px;font-weight:600;line-height:1.35;max-width:520px}
.jg-study-grid article>p:last-child{margin-top:12px;color:#40546a}
.jg-study-credentials{border-top:1px solid #aebfd0;padding-top:20px;margin-top:25px}
.jg-study-credentials .jg-label{margin-bottom:8px!important}
.jg-study-credentials>p:last-child{font-size:14px;line-height:1.8;color:#40546a}
.jg-experience>.jg-employment{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:30px}
.jg-experience>.jg-employment>article{padding-top:18px;border-top:2px solid #91a7ba}
.jg-experience>.jg-employment>article:first-child{border-top:2px solid #344e68}
.jg-page .jg-contact{background:#c1cfd9;color:#213a51;border-top:1px solid #9bafbf;grid-template-columns:1.2fr 1fr;gap:55px;padding-block:44px}
.jg-page .jg-contact h2{font-size:38px;font-weight:500;letter-spacing:-.025em;line-height:1.2}
.jg-page .jg-contact .jg-label{color:#344e68}
.jg-page .jg-contact>div>p:not(.jg-label),.jg-page .jg-contact aside>p{color:#344b60;font-size:16px;line-height:1.7}
.jg-page .jg-contact aside{border-color:#9bafbf;padding-left:30px}
.jg-page .jg-contact aside>a{font-size:17px;font-weight:400;margin:12px 0}
.jg-page .jg-contact .jg-button{background:#344e68;color:#fff!important;font-size:14px}
.jg-page .jg-contact .jg-contact-link{color:#213a51;border-color:#607b91;font-size:14px}
.case-modal .copy-evidence,.case-modal .copy-evidence h3,.case-modal .copy-evidence p,.case-modal .copy-evidence blockquote,.case-modal .copy-evidence .eyebrow{color:#213a51!important}
.case-modal .copy-evidence details{border-color:#9bafbf}
.case-modal .copy-evidence summary{color:#294e73!important;font-size:15px;letter-spacing:0;text-transform:none}
.case-modal .copy-evidence blockquote{font-size:16px;line-height:1.8}
@media(max-width:1100px){.jg-experience>.jg-employment{grid-template-columns:1fr 1fr}.jg-experience>.jg-employment>article:first-child{grid-column:1/-1}.jg-links{gap:14px}}
@media(max-width:760px){.jg-study-grid,.jg-experience>.jg-employment,.jg-page .jg-contact{grid-template-columns:1fr;gap:24px}.jg-experience>.jg-employment>article:first-child{grid-column:auto}.jg-page .jg-contact aside{padding:24px 0 0;border-left:0}.jg-page .jg-contact h2{font-size:32px}.jg-page .jg-hero h1{font-size:64px}.jg-study-grid h3{font-size:23px}}
.jg-brand .jg-original-logo{width:44px;height:44px;object-fit:contain;border:0;border-radius:0;flex-shrink:0}
.jg-hero-notes p{overflow-wrap:normal;word-break:normal}
.jg-page .jg-open{display:none}
.gallery-controls button{width:auto!important;min-width:76px;padding:10px 12px!important;font-size:14px!important}
.text-link:after,.text-link:before{content:none!important}
.jg-section-heading h2{max-width:670px}.jg-section-heading>p{flex:0 1 395px}
.jg-project-description{min-height:88px}.jg-project .jg-text-link{margin-top:3px}
.jg-project:focus-visible .jg-open,.jg-project:hover .jg-open{background:var(--jg-blue);color:#fff;border-color:var(--jg-blue)}
.jg-polaroid figcaption{line-height:1.35}.jg-polaroid figcaption span{margin-top:4px}
.jg-contact h2{font-size:clamp(34px,3.6vw,54px);line-height:1.12}
.jg-current{position:relative}.jg-current .jg-label{color:#1747b5}
.jg-page .jg-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px}
.jg-page .jg-hero-intro{max-width:490px}
.jg-page h2,.jg-page .jg-contact h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(30px,3vw,42px);letter-spacing:-.025em;line-height:1.2}
.jg-page h3,.jg-page .jg-study-grid h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.015em;line-height:1.35}
.jg-page .jg-label{font-weight:400;letter-spacing:.045em;color:#405c75;text-transform:none}
.jg-page .jg-organization,.jg-page .jg-tools span,.jg-page .jg-text-link{font-weight:400}
.jg-page .jg-process-grid{grid-template-columns:1fr 1fr;gap:30px 44px}
.jg-page .jg-process-grid article{padding-top:18px}
.jg-page .jg-process-grid p{font-size:16px;line-height:1.75;max-width:590px}
.jg-page .jg-process-grid h3{font-size:23px;margin-block:8px 12px}
@media(max-width:760px){.jg-page .jg-hero{grid-template-columns:1fr;gap:28px}.jg-page .jg-process-grid{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.jg-project-description{min-height:0}.jg-contact h2 br,.jg-about-copy h2 br{display:initial}}
@media(max-width:360px){.jg-nav{padding-inline:4%}.jg-brand{gap:8px;font-size:11px}.jg-hero h1{font-size:clamp(46px,15.3vw,55px)}.jg-actions{gap:10px}.jg-capability-strip{font-size:11px;letter-spacing:.055em}.jg-phone-stage{padding-inline:12px}.jg-phone-stage .jg-phone-primary,.jg-concept-phone .jg-phone{width:208px;flex-basis:208px}}

/* Paris belongs to the contact section, with a quiet reading area above the river. */
.jg-page .jg-contact{position:relative;isolation:isolate;overflow:hidden;background:#d4e2ed;padding-top:48px;padding-bottom:110px;border-top:1px solid #aec3d4}
.jg-page .jg-contact:before{content:'';position:absolute;z-index:-2;inset:0;background:url('/assets/paris-background.png') right bottom / cover no-repeat;opacity:.68;pointer-events:none}
.jg-page .jg-contact:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#d4e2ed 0%,#d4e2edf2 18%,#d4e2edda 53%,#d4e2ed45 83%,#d4e2ed18 100%);pointer-events:none}
.jg-page .jg-contact>div,.jg-page .jg-contact>aside{position:relative;z-index:1}
.jg-page .jg-contact>div>p:not(.jg-label),.jg-page .jg-contact aside>p{color:#304b63}
.jg-page .jg-contact aside{border-color:#9fb6c9}
.jg-page .jg-footer{background:#bfd2e3;border-top:1px solid #a9bfd1}
@media(max-width:760px){.jg-page .jg-contact{padding-top:36px;padding-bottom:100px;gap:24px}.jg-page .jg-contact:before{background-size:auto 290px;background-position:82% bottom;opacity:.62}.jg-page .jg-contact:after{background:linear-gradient(180deg,#d4e2ed 0%,#d4e2ed 52%,#d4e2edd9 72%,#d4e2ed33 100%)}.jg-page .jg-contact aside{padding-top:22px}}
