/* The same purple/navy, paper grain and logo contours as the homepage. */
.jh-subpage .jl-hero--showcase{background-color:#fffefa;padding-block:68px 76px;isolation:isolate;overflow:hidden}
.jl-hero--showcase::before{content:'';position:absolute;inset:0 0 0 50%;background:url('./home-brand-contour.svg') center/760px auto no-repeat;opacity:.075;pointer-events:none;z-index:-1}
.jh-subpage .jl-hero--showcase .jl-hero-grid{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:64px}
.jl-hero--showcase .jl-hero-copy{position:relative;z-index:2}
.jh-subpage .jl-hero--showcase h1{font-size:clamp(30px,2.7vw,41px);line-height:1.6}
.jl-hero--showcase .jl-lead{max-width:32em}
.jl-showcase{display:grid;grid-template-columns:1fr 1fr;gap:24px 26px;align-items:start;min-width:0;padding:28px 12px;position:relative}
.jl-showcase-item{--jl-angle:3deg;min-width:0;margin:0;transform:rotate(var(--jl-angle));animation:jl-art-drift 12s ease-in-out infinite}
.jl-showcase-item--1{--jl-angle:-4deg;grid-column:1/-1;width:87%;margin-inline:auto;animation-delay:-3s;position:relative;z-index:1}
.jl-showcase-item--2{--jl-angle:-2deg;animation-delay:-7s}
.jl-showcase-item--3{--jl-angle:4deg;margin-top:22px;animation-delay:-10s}
.jl-showcase-image{aspect-ratio:var(--jl-art-ratio);background:#fff;border:1px solid #ded5ee;box-shadow:0 12px 30px #150a4412;overflow:hidden}
.jl-showcase-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.jh-subpage .jl-showcase figcaption{font-size:11px;font-weight:600;line-height:1.7;color:#6e657f;margin-top:10px;text-align:left;letter-spacing:0}
.jl-showcase--count-1{display:block;padding:44px 16px}
.jl-showcase--count-1 .jl-showcase-item--1{width:100%}
.jl-showcase--count-2{align-items:center}
.jl-showcase--count-2 .jl-showcase-item--1{width:96%}
.jl-showcase--count-2 .jl-showcase-item--2{grid-column:1/-1;width:62%;justify-self:end}
.jl-hero--creative .jl-showcase-item--1{width:71%}
.jl-hero--creative .jl-showcase-item--2{width:90%}
@keyframes jl-art-drift{0%,100%{transform:translateY(0) rotate(var(--jl-angle))}50%{transform:translateY(-7px) rotate(var(--jl-angle))}}
/* Every service chapter receives restrained typography and background rhythm. */
.jh-subpage .jl-main .jl-content-chapter{position:relative;isolation:isolate;background-color:#fff;color:var(--jh-ink)}
.jh-subpage .jl-main .jl-content-chapter--soft{background-color:#fcfaff;background-image:url('./home-paper-grain.svg');background-size:192px 192px}
.jl-content-chapter--soft::before{content:'';position:absolute;z-index:-1;right:0;top:38px;width:min(48%,620px);height:480px;background:url('./home-brand-contour.svg') right center/contain no-repeat;opacity:.035;pointer-events:none}
.jh-subpage .jl-content-chapter:not(.jl-content-chapter--soft){border-bottom:1px solid #eee8f6}
.jh-subpage .jl-content-chapter :is(.jh-label strong,.p-webdesign__secLead,.p-recruit__secLead,.p-const__secLead,.crn-eyebrow,.cr-section__label,.gtn-eyebrow){font-family:Arial,sans-serif;font-weight:900;letter-spacing:-.025em;color:#150a44}
.jl-visual-intro{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);align-items:center;gap:52px;margin-block:0 42px;max-width:100%;clear:both}
.jl-visual-intro--reverse{grid-template-columns:minmax(0,.55fr) minmax(0,.45fr)}
.jl-visual-intro--reverse .jl-visual-copy{grid-column:2;grid-row:1}
.jl-visual-intro--reverse .jl-content-visual{grid-column:1;grid-row:1}
.jl-visual-copy{min-width:0}
.jh-subpage .jl-visual-copy h2{font-size:clamp(27px,2.5vw,35px);line-height:1.65;margin-block:0 24px;max-width:none;text-align:left}
.jh-subpage .jl-visual-copy p:not(.jh-label):not([class*='__secLead']):not([class*='eyebrow']){font-size:15px;line-height:2;margin-bottom:18px;max-width:36em;color:#6e657f;text-align:left}
.jh-subpage .jl-visual-copy p:last-child{margin-bottom:0}
.jh-subpage .jl-content-visual{float:none;clear:none;width:100%;max-width:680px;min-width:0;margin:0;align-self:center}
.jh-subpage .jl-content-visual img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:0;box-shadow:none}
.jh-subpage .jl-content-visual figcaption{color:#6e657f;font-size:12px;line-height:1.8;text-align:center;margin:14px 0 0}
.jh-subpage .jl-visual-intro+*{clear:both}
.jh-subpage .jl-content-chapter :is(.jl-source-figure,.p-const__visual,.p-recruit__image) img{max-width:100%;height:auto;object-fit:contain}
.jh-subpage .jl-content-chapter .jl-source-figure{margin-block:22px 38px}
.jh-subpage .jl-content-chapter .jl-source-work figure{background:transparent}
@media(max-width:1100px){.jh-subpage .jl-hero--showcase .jl-hero-grid{gap:36px;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr)}.jl-showcase{gap:18px 20px;padding-inline:4px}.jl-visual-intro,.jl-visual-intro--reverse{gap:36px}.jh-subpage .jl-visual-copy h2{font-size:28px}.jh-subpage .jl-visual-copy p:not(.jh-label){font-size:14px}}
@media(max-width:800px){.jh-subpage .jl-hero--showcase{padding-block:42px 48px}.jh-subpage .jl-hero--showcase .jl-hero-grid{grid-template-columns:1fr;gap:26px}.jl-hero--showcase::before{inset:30% 0 0 0;background-size:100% auto}.jh-subpage .jl-hero--showcase h1{font-size:32px}.jl-showcase{max-width:620px;justify-self:center;width:100%;padding:12px 2px}.jl-showcase-item{animation:none;transform:none}.jl-showcase-item--1,.jl-hero--creative .jl-showcase-item--1{width:100%}.jl-showcase-item--3{margin-top:0}.jl-showcase--count-1{max-width:580px;padding:8px 0}.jl-showcase--count-2 .jl-showcase-item--2{width:70%}.jl-visual-intro,.jl-visual-intro--reverse{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-bottom:32px}.jl-content-visual{align-self:center!important}.jh-subpage .jl-visual-copy h2{font-size:28px}.jh-subpage .jl-visual-copy p:not(.jh-label){font-size:14px;max-width:none}.jl-content-chapter--soft::before{width:70%;height:340px;opacity:.025}.jh-subpage .jl-content-visual figcaption{font-size:11px;margin-top:10px}}
@media(max-width:540px){.jh-subpage .jl-hero--showcase h1{font-size:28px}.jl-showcase{gap:16px}.jh-subpage .jl-showcase figcaption{font-size:10px}.jl-showcase--count-2 .jl-showcase-item--2{width:85%}.jh-subpage .jl-visual-copy h2{font-size:25px}.jh-subpage .jl-content-visual img{width:100%}}
@media(prefers-reduced-motion:reduce){.jl-showcase-item{animation:none;transform:rotate(var(--jl-angle))}}
@media(forced-colors:active){.jl-hero--showcase::before,.jl-content-chapter--soft::before{display:none}.jl-showcase-image{border-color:CanvasText;box-shadow:none}.jh-subpage .jl-main .jl-content-chapter{background:Canvas;color:CanvasText}}

/* Real, responsive portfolio screens in a unified device composition. */
.jl-showcase--devices{padding:8px 0;gap:20px 28px}
.jh-subpage .jl-showcase--devices .jl-showcase-item--device{width:100%;transform:none;animation:none;margin:0;grid-column:1/-1}
.jl-showcase--devices .jl-showcase-item--device .jl-showcase-image{background:transparent;border:0;box-shadow:none;overflow:visible}
.jl-showcase--devices .jl-showcase-item--device img{display:block;width:100%;height:auto;object-fit:contain}
.jh-subpage .jl-showcase--devices .jl-showcase-item--device figcaption{text-align:center;font-size:12px;margin-top:12px;line-height:1.8}
.jl-showcase-links{display:flex;justify-content:center;gap:20px;margin-top:8px;flex-wrap:wrap}
.jl-showcase-links a{color:#6231fa;text-decoration:underline;text-underline-offset:4px;font-size:11px}
.jl-showcase-links a:hover{color:#150a44}
.jl-showcase-links a:focus-visible{outline:2px solid #6231fa;outline-offset:4px}
.jl-hero--creative .jl-showcase--devices .jl-showcase-item--2,.jl-hero--creative .jl-showcase--devices .jl-showcase-item--3{width:100%;margin:0;transform:none;animation:none}
.jl-hero--creative .jl-showcase--devices .jl-showcase-item--2 .jl-showcase-image,.jl-hero--creative .jl-showcase--devices .jl-showcase-item--3 .jl-showcase-image{max-height:180px;aspect-ratio:4/3;box-shadow:none}
@media(max-width:800px){.jl-showcase--devices{max-width:640px;margin-inline:auto;padding:0;gap:18px}.jl-showcase-links{gap:16px}.jh-subpage .jl-showcase--devices .jl-showcase-item--device figcaption{font-size:11px}.jl-showcase-links a{font-size:11px}}

/* Creative concept visuals remain visible without a scroll trigger. */
.jh-subpage .jl-main .creative-hero::before,.jh-subpage .jl-main .creative-hero::after{content:none!important;display:none!important}
.jh-subpage .jl-main :is(.creative-hero,.intro-creative) .jl-content-visual{opacity:1!important;transform:none!important;transition:none!important}
