/* The established case-study system, composed for landscape IVI interfaces. */
body[data-page=ivi-navigation] .ivi-story{padding:0 var(--page-gutter);max-width:100%}
.ivi-story .go-section{min-width:0}
.ivi-overview{padding-top:24px}
.ivi-overview h1{font-size:clamp(2.75rem,4.8vw,5rem);letter-spacing:-.055em;line-height:1.06;margin:24px 0 32px}
.ivi-introduction{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.ivi-introduction .go-statement{max-width:20ch;font-weight:500}
.ivi-introduction>p:last-child{color:var(--text-secondary)}
.ivi-overview .go-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 40px;border-top:1px solid var(--border-subtle);padding-top:24px}
.ivi-story .go-meta dd{font-size:1.09375rem}
.ivi-screen{margin:0;min-width:0}
.ivi-image-trigger{display:block;width:100%;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-small);background:var(--surface-subtle);cursor:zoom-in;box-shadow:0 8px 28px rgb(0 0 0 / .05);transition:border-color 180ms ease,box-shadow 300ms cubic-bezier(.77,0,.18,1)}
.ivi-image-trigger img{display:block;width:100%;height:auto;border-radius:var(--radius-small);object-fit:contain}
.ivi-screen figcaption{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-top:14px;color:var(--text-secondary);font-size:.9375rem;line-height:1.6}
.ivi-caption{max-width:50ch}
.ivi-enlarge{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:.75rem;min-height:24px;color:var(--action-secondary)}
.ivi-enlarge svg{flex:none}
.ivi-screen:focus-within .ivi-image-trigger{border-color:var(--action-primary)}
@media(hover:hover){.ivi-image-trigger:hover{border-color:var(--action-primary);box-shadow:0 12px 32px rgb(0 0 0 / .1)}.ivi-screen:hover .ivi-caption{font-weight:600}}
.ivi-challenge{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px)}
.ivi-challenge .eyebrow{margin-bottom:24px;color:var(--text-secondary)}
.ivi-challenge-copy{padding-top:40px}
.ivi-challenge-copy>p{color:var(--text-secondary)}
.ivi-priorities{padding:0;margin:28px 0 0;list-style:none;border-top:1px solid var(--border-subtle)}
.ivi-priorities li{padding:12px 0;border-bottom:1px solid var(--border-subtle);font-size:.875rem;font-weight:500}
.ivi-story .go-principles{margin-top:32px}
.ivi-experience>h2.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.1em;line-height:1.5;color:var(--text-secondary);text-transform:uppercase}
body[data-page=ivi-navigation] #experience{scroll-margin-top:100px}
.ivi-narrative{margin-top:40px}
.ivi-narrative+.ivi-narrative{margin-top:56px;padding-top:40px;border-top:1px solid var(--border-subtle)}
.ivi-narrative-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:32px}
.ivi-narrative-heading .eyebrow{color:var(--text-secondary);font-size:.75rem;line-height:1.6}
.ivi-narrative-heading h3{font-size:clamp(1.75rem,3vw,3rem);line-height:1.15;letter-spacing:-.04em;margin-top:16px;max-width:22ch}
.ivi-narrative-heading>p{color:var(--text-secondary)}
.ivi-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.ivi-pair+.ivi-screen{margin-top:32px}
.ivi-pair .ivi-enlarge{font-size:0;gap:0}
.ivi-approach-visual{margin-top:40px}
.ivi-approach-visual .ivi-image-trigger{border:0;background:transparent;box-shadow:none}
.ivi-story .go-reading{max-width:70ch}
.ivi-story .go-reading>p{color:var(--text-secondary)}
.ivi-story .go-reading blockquote{max-width:36ch;margin-top:32px;color:var(--text-primary)}
.ivi-story .go-related .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.ivi-story .go-related .project-title-row h3{font-size:1.5rem}
.ivi-story .go-related .project-action{margin-top:16px}
.ivi-image-dialog{position:fixed;inset:0;width:min(1440px,calc(100% - 48px));max-width:none;max-height:94dvh;margin:auto;padding:0;border:1px solid var(--border-control);border-radius:var(--radius-small);background:var(--surface-page);color:var(--text-primary);overscroll-behavior:contain}
.ivi-image-dialog::backdrop{background:rgb(0 0 0 / .65)}
body:has(.ivi-image-dialog[open]){overflow:hidden}
.ivi-image-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-bottom:1px solid var(--border-subtle)}
.ivi-image-header h2{font-size:1rem;line-height:1.5;letter-spacing:0}
.ivi-image-header>div{display:flex;gap:8px;flex:none}
.ivi-image-header .button{font-size:.8125rem;gap:8px;min-height:44px}
.ivi-image-close>[aria-hidden]{font-size:1.5rem;line-height:1}
#ivi-image-help{font-size:.8125rem;line-height:1.5;color:var(--text-secondary);padding:12px 24px}
.ivi-image-viewport{max-height:calc(94dvh - 150px);overflow:auto;background:var(--surface-subtle);overscroll-behavior:contain}
.ivi-image-viewport img{display:block;width:100%;height:auto;max-width:none}
.ivi-image-viewport.is-zoomed img{width:max(150%,1440px)}
.ivi-image-viewport:focus-visible{outline:3px solid var(--focus-visible);outline-offset:-4px}
@media(max-width:1100px){.ivi-introduction{grid-template-columns:1fr}.ivi-introduction .go-statement{max-width:28ch}.ivi-overview .go-meta{gap:16px}.ivi-story .go-meta dd{font-size:1rem}.ivi-challenge,.ivi-narrative-heading{gap:32px}.ivi-screen figcaption{font-size:.875rem}.ivi-enlarge{font-size:0;gap:0}}
@media(max-width:900px){body[data-page=ivi-navigation] .go-section,body[data-page=ivi-navigation] #experience{scroll-margin-top:120px}}
@media(max-width:700px){.ivi-overview h1{margin-bottom:24px}.ivi-introduction{gap:24px}.ivi-overview .go-meta{grid-template-columns:1fr;gap:16px;margin-bottom:28px}.ivi-overview .go-meta>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px}.ivi-overview .go-meta dt{padding-top:3px}.ivi-challenge,.ivi-narrative-heading{grid-template-columns:1fr;gap:24px}.ivi-challenge-copy{padding-top:0}.ivi-pair{grid-template-columns:1fr;gap:28px}.ivi-narrative-heading{margin-bottom:24px}.ivi-narrative+.ivi-narrative{margin-top:40px;padding-top:28px}.ivi-approach-visual{margin-top:28px}.ivi-story .go-related .work-grid{grid-template-columns:1fr}.ivi-screen figcaption{gap:12px}.ivi-image-dialog{width:calc(100% - 16px);max-height:96dvh}.ivi-image-header{align-items:start;flex-direction:column;gap:12px;padding:16px}.ivi-image-header>div{width:100%;justify-content:space-between}.ivi-image-viewport{max-height:calc(96dvh - 204px)}#ivi-image-help{padding:12px 16px}.ivi-image-viewport.is-zoomed img{width:1440px}}
@media(prefers-reduced-motion:reduce){.ivi-image-trigger{transition:none}}
@media print{.ivi-image-dialog,.ivi-enlarge{display:none}.ivi-image-trigger{border:0;box-shadow:none}.ivi-narrative{break-inside:avoid}.ivi-story .go-section{break-inside:auto}}
