/* V15 — immersive editorial system */
:root {
  --v15-serif: "Arno Pro", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --v15-sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --v15-red: #9e2f25;
  --v15-quiet: #88939a;
  --v15-gold-text: #805b20;
  --v15-space: clamp(76px, 10vw, 148px);
}

body { font-family: var(--v15-sans); }
h1, h2, h3, blockquote, .brand-name { font-family: var(--v15-serif); font-weight: 600; }
h1 { font-size: clamp(2.7rem, 4.8vw, 5rem); line-height: 1.04; letter-spacing: .012em; }
h2 { font-size: clamp(2rem, 3.4vw, 3.45rem); line-height: 1.12; letter-spacing: .014em; }
h3 { letter-spacing: .013em; }
.eyebrow { color: var(--v15-gold-text); letter-spacing: .17em; }
.v15-hero .eyebrow, .v15-enterprise-preview .eyebrow, .v15-promise .eyebrow,
.v15-final .eyebrow, .v15-page-hero .eyebrow, .photo-chapter--dark .eyebrow,
.enterprise-case .eyebrow, .legacy-story .eyebrow, .section--dark .eyebrow,
.closing-cta .eyebrow { color: var(--gold2); }
a:focus-visible, button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 6px var(--navy); }
.media-card span { color: var(--v15-gold-text); }
.media-card h2, .media-card h3 { margin: 34px 0 0; color: var(--navy); font-size: 1.55rem; }

/* Press identity and campaign record */
.press-glance__stats { grid-template-columns: repeat(3, 1fr); }
.press-glance__intro { max-width: 670px; margin: 18px 0 0; color: #b8c7d0; font-size: clamp(.87rem,1.15vw,1rem); line-height: 1.72; }
.press-impact { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: clamp(34px,5vw,60px) 0 1px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.press-impact div { position: relative; min-height: 176px; padding: clamp(24px,3vw,36px); background: linear-gradient(145deg,rgba(13,42,58,.97),rgba(7,22,34,.97)); }
.press-impact div:not(:last-child):after { content: "→"; position: absolute; z-index: 1; top: 28px; right: -11px; width: 22px; color: var(--gold2); font: 700 1rem/1 var(--v15-sans); text-align: center; }
.press-impact span { display: block; color: var(--gold2); font: 800 .59rem/1.2 var(--v15-sans); letter-spacing: .12em; text-transform: uppercase; }
.press-impact strong { display: block; margin: 14px 0 9px; color: #fff; font: 650 clamp(1.28rem,2vw,1.68rem)/1.04 var(--v15-serif); }
.press-impact p { margin: 0; color: #aebdc6; font-size: .76rem; line-height: 1.6; }
.outlet-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.outlet-grid article { min-height: 244px; }
.outlet-grid article[id] { scroll-margin-top: 260px; }
.outlet-mark { display: flex; min-height: 49px; align-items: center; margin: 34px 0 10px; color: #fff; font: 800 clamp(1.35rem, 2.2vw, 2rem)/1 var(--v15-sans); letter-spacing: -.04em; }
.outlet-mark i { font-style: normal; }
.outlet-mark--npr { gap: 0; letter-spacing: 0; }
.outlet-mark--npr i { display: grid; width: 36px; height: 36px; place-items: center; color: #fff; font: 850 1.45rem/1 Arial, sans-serif; }
.outlet-mark--npr i:nth-child(1) { background: #d62027; }
.outlet-mark--npr i:nth-child(2) { background: #000; }
.outlet-mark--npr i:nth-child(3) { background: #237bbd; }
.outlet-mark--ap { position: relative; width: max-content; color: #fff; font: 900 2.2rem/1 Arial, sans-serif; letter-spacing: -.08em; }
.outlet-mark--ap:after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 4px; background: #ef2b2d; }
.outlet-mark--stripes { display: grid; grid-template-columns: auto 31px auto; gap: .36em; align-items: center; width: min(100%, 230px); max-width: 230px; min-height: 48px; padding: .46em .58em .42em; border-top: 1px solid rgba(255,255,255,.32); border-bottom: 1px solid rgba(255,255,255,.32); background: linear-gradient(90deg,rgba(20,65,102,.72),rgba(255,255,255,.04) 50%,rgba(145,31,39,.62)); font: 650 1.08rem/1 "Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif; font-style: normal; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
.outlet-mark--stripes > span { color: #fff; }
.outlet-mark--stripes b { display: grid; grid-template-rows: 19px 10px; width: 31px; height: 29px; overflow: hidden; border: 1px solid rgba(255,255,255,.5); background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.2); }
.outlet-mark--stripes b i:first-child { display: grid; place-items: center; background: #16466f; color: #fff; font: 700 12px/1 Arial,sans-serif; }
.outlet-mark--stripes b i:last-child { background: repeating-linear-gradient(to bottom,#b52c34 0,#b52c34 2px,#fff 2px,#fff 4px); }
.outlet-mark--cbs { font-size: 1.75rem; letter-spacing: -.055em; }
.outlet-mark--cnn { color: #ef2b2d; font: 900 2.35rem/1 Arial, sans-serif; letter-spacing: -.12em; }
.outlet-mark--nbc { font-size: 1.75rem; letter-spacing: -.055em; }
.outlet-mark--wapo { max-width: 190px; font-family: Georgia, serif; font-size: 1.38rem; line-height: .98; letter-spacing: -.055em; }
.outlet-mark--lat { max-width: 180px; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.02; letter-spacing: -.045em; }
.outlet-mark--pbs { font: 850 2rem/1 Arial, sans-serif; letter-spacing: .01em; }
.outlet-mark--rollcall { font-family: Georgia, serif; font-size: 1.8rem; letter-spacing: -.055em; }
.outlet-mark--examiner { max-width: 190px; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1; letter-spacing: -.045em; }
.outlet-mark--pp { font: 800 1.2rem/1.02 var(--v15-sans); letter-spacing: -.02em; text-transform: uppercase; }
.outlet-logo { position: relative; z-index: 1; display: block; box-sizing: border-box; width: auto; max-width: min(100%, 205px); height: 54px; margin: 28px 0 10px; padding: 9px 11px; object-fit: contain; object-position: left center; background: #fff; }
.outlet-logo--npr { width: 132px; }
.outlet-logo--ap { width: 92px; }
.outlet-logo--stripes { width: min(100%, 255px); height: 60px; padding: 12px 10px; border-top: 3px double #183b55; border-bottom: 3px double #183b55; }
.outlet-logo--square { width: 58px; height: 58px; padding: 0; }
.outlet-logo--nbc { width: min(100%, 205px); }
.outlet-logo--wapo { width: min(100%, 205px); }
.outlet-logo--lat { width: min(100%, 190px); }
.outlet-logo--pbs { width: 132px; }
.outlet-logo--rollcall { width: 165px; }
.outlet-logo--examiner { width: min(100%, 205px); }
.outlet-logo--pp { width: min(100%, 225px); height: 56px; padding: 0; object-fit: contain; object-position: left center; }
.outlet-logo--michigan-retailer { width: min(100%, 205px); height: 76px; padding: 0; object-fit: contain; object-position: left center; }
.outlet-grid__reference { background: rgba(18,54,74,.98) !important; }
.outlet-grid__reference--search { grid-column: span 2; background: linear-gradient(135deg, #14384b, #0a2130) !important; }
.outlet-mark--record { max-width: 220px; font: 650 1.56rem/.94 var(--v15-serif); letter-spacing: .015em; }
.outlet-mark--search { display: grid; gap: 5px; align-content: center; max-width: 260px; letter-spacing: 0; }
.outlet-mark--search strong { color: var(--gold2); font: 700 clamp(2.45rem,4vw,4.5rem)/.82 var(--v15-serif); }
.outlet-mark--search small { color: #fff; font: 800 .58rem/1 var(--v15-sans); letter-spacing: .12em; text-transform: uppercase; }
.outlet-grid__reference--search p { max-width: 540px; }
.press-glance__method { max-width: 960px; margin: 24px 0 0; color: #9eafb9; font-size: .66rem; line-height: 1.68; }
.press-glance__method strong { color: #d7e0e5; }
.record-card--primary { position: relative; overflow: hidden; isolation: isolate; background: #071622; }
.record-card--primary:before { content: ""; position: absolute; z-index: -2; inset: 0; background: url("assets/img/v15/frank-buckles-enlistment-1917.jpg") 42% center / cover no-repeat; filter: sepia(.32) grayscale(.72) contrast(.96); }
.record-card--primary:after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(155deg, rgba(7,22,34,.59), rgba(7,22,34,.95) 72%); }
.record-card--primary small { max-width: 330px; margin: 22px 0 18px; color: #aebdc6; font-size: .61rem; line-height: 1.5; }
.outlet-mark--npr-feature { margin: 0 0 30px; }
.outlet-mark--npr-feature i { width: 48px; height: 48px; font-size: 1.85rem; }
.outlet-logo--feature { width: 168px; height: 56px; margin: 0 0 30px; padding: 0; }
.audio-feature__copy :is(.outlet-mark,.outlet-logo) + .eyebrow { margin-bottom: 34px; }
.campaign-coverage { scroll-margin-top: 150px; }
.campaign-coverage__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.campaign-record { display: flex; min-width: 0; min-height: 325px; padding: clamp(26px, 3.4vw, 39px); flex-direction: column; color: var(--navy); text-decoration: none; background: #fff; }
.campaign-record--lead { grid-column: span 2; background: linear-gradient(140deg, #102f42, #071622); color: #fff; }
.campaign-record > span { color: var(--v15-gold-text); font-size: .61rem; font-weight: 800; letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; }
.campaign-record--lead > span { color: var(--gold2); }
.campaign-record h3 { margin: 53px 0 14px; color: inherit; font-size: clamp(1.35rem, 2.25vw, 2rem); line-height: 1.18; }
.campaign-record p { margin: 0 0 24px; color: var(--muted); font-size: .8rem; }
.campaign-record--lead p { max-width: 750px; color: #b9c7cf; }
.campaign-record__publisher { display: block; width: min(100%, 310px); height: 66px; margin: 30px 0 0; padding: 14px 12px; object-fit: contain; background: #fff; }
.campaign-record__publisher--stripes { border-top: 3px double #183b55; border-bottom: 3px double #183b55; }
.campaign-record__publisher + h3 { margin-top: 28px; }
.campaign-record b { margin-top: auto; color: inherit; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.campaign-record:hover { background: #f6f0e5; }
.campaign-record--lead:hover { background: #123a50; }
.ap-ledger { margin-top: 26px; scroll-margin-top: 145px; border: 1px solid var(--line); background: #fff; }
.ap-ledger summary { display: grid; grid-template-columns: 80px 1fr auto; gap: 24px; align-items: center; min-height: 118px; padding: 22px 28px; cursor: pointer; list-style: none; }
.ap-ledger summary::-webkit-details-marker { display: none; }
.ap-ledger summary .outlet-mark { margin: 0; color: var(--navy); }
.ap-ledger summary .outlet-logo--summary { width: 66px; height: 48px; margin: 0; padding: 3px; }
.ap-ledger summary > span:nth-child(2) strong, .ap-ledger summary > span:nth-child(2) small { display: block; }
.ap-ledger summary > span:nth-child(2) strong { color: var(--navy); font: 600 1.35rem/1.2 var(--v15-serif); }
.ap-ledger summary > span:nth-child(2) small { margin-top: 5px; color: var(--muted); font-size: .67rem; }
.ap-ledger summary > b { color: var(--navy); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.ap-ledger[open] summary { border-bottom: 1px solid var(--line); }
.ap-ledger__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.ap-ledger__grid a { display: flex; min-width: 0; min-height: 220px; padding: 24px; flex-direction: column; color: var(--navy); text-decoration: none; background: var(--paper); }
.ap-ledger__grid span, .ap-ledger__grid small { color: var(--muted); font-size: .57rem; font-weight: 750; letter-spacing: .07em; line-height: 1.45; text-transform: uppercase; }
.ap-ledger__grid strong { margin: 34px 0 20px; font: 600 1.1rem/1.22 var(--v15-serif); }
.ap-ledger__grid small { margin-top: auto; }
.ap-ledger__grid a:hover { background: #fff; }

.site-header--v15 { background: rgba(251,248,241,.965); }
.site-header--v15 .nav { width: min(1320px, calc(100% - 42px)); }
.site-header--v15 .menu { gap: clamp(12px, 1.65vw, 25px); }
.site-header--v15 .menu a { min-height: 24px; display: inline-flex; align-items: center; font-size: .69rem; letter-spacing: .085em; }

/* Homepage hero */
.v15-hero { position: relative; min-height: calc(100svh - 96px); display: grid; align-items: end; overflow: hidden; isolation: isolate; background: #c9c9c7; color: #fff; }
.v15-hero__image, .v15-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.v15-hero__image { z-index: -2; object-fit: cover; object-position: 45% center; filter: contrast(1.04); }
.v15-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(4,13,20,.78) 0%, rgba(4,13,20,.55) 41%, rgba(4,13,20,.11) 73%), linear-gradient(0deg, rgba(4,13,20,.7) 0%, transparent 53%); }
.v15-hero__inner { padding: clamp(85px, 13vh, 150px) 0 clamp(74px, 10vh, 110px); }
.v15-hero__identity { display: grid; width: fit-content; max-width: 100%; min-height: 1.45em; cursor: default; }
.v15-hero__identity > span { grid-area: 1 / 1; transition: opacity .38s ease, transform .38s ease; }
.v15-hero__identity-motto { opacity: 0; transform: translateY(7px); }
.v15-hero__identity-motto em { font: inherit; }
.v15-hero__identity:hover .v15-hero__identity-role,
.v15-hero__identity:focus .v15-hero__identity-role { opacity: 0; transform: translateY(-7px); }
.v15-hero__identity:hover .v15-hero__identity-motto,
.v15-hero__identity:focus .v15-hero__identity-motto { opacity: 1; transform: translateY(0); }
.v15-hero__identity:focus-visible { outline: 1px solid rgba(255,255,255,.82); outline-offset: 6px; }
.v15-hero__inner h1 { max-width: 1080px; margin: 0 0 26px; text-wrap: balance; }
.v15-headline-switch { display: grid; width: min(1100px,100%); cursor: default; }
.v15-headline-switch > span { grid-area: 1 / 1; display: flex; min-width: 0; align-items: center; transition: opacity .42s ease, transform .42s ease; }
.v15-headline-switch__secondary { opacity: 0; transform: translateY(13px); }
.v15-headline-switch:hover > span:first-child,
.v15-headline-switch:focus > span:first-child { opacity: 0; transform: translateY(-13px); }
.v15-headline-switch:hover > .v15-headline-switch__secondary,
.v15-headline-switch:focus > .v15-headline-switch__secondary { opacity: 1; transform: translateY(0); }
.v15-headline-switch:focus-visible { outline: 1px solid currentColor; outline-offset: 8px; }
.v15-hero__headline-switch { width: min(1080px,100%); }
.v15-hero__headline-resolve { max-width: 1080px; font-size: 1em; line-height: 1; }
.v15-hero__inner > p:not(.eyebrow) { max-width: 690px; margin-bottom: 32px; color: #e0e6e9; font: 1.08rem/1.7 var(--v15-sans); }
.v15-hero__credit { position: absolute; right: 24px; bottom: 18px; margin: 0; color: rgba(255,255,255,.72); font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; writing-mode: vertical-rl; }

/* Thesis */
.v15-thesis { padding: clamp(72px, 9vw, 125px) 0; background: #fff; }
.v15-thesis__grid { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: clamp(36px, 7vw, 105px); align-items: start; }
.v15-thesis__grid > div { padding-top: 5px; }
.v15-thesis__grid h2 { max-width: 560px; margin: 16px 0 0; scroll-margin-top: 120px; font-size: clamp(2.45rem,4.4vw,4.9rem); line-height: .98; }
.v15-thesis__grid > div p { color: #485862; font-size: 1.04rem; }
.v15-thesis__grid > div .v15-thesis__resolve { margin: 20px 0 23px; color: var(--navy); font: 600 clamp(1.2rem,1.7vw,1.55rem)/1.3 var(--v15-serif); }
.v15-thesis__accomplishments { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: clamp(40px,5vw,66px); border: 1px solid var(--line); background: var(--line); }
.v15-accomplishment { position: relative; min-height: 285px; overflow: hidden; isolation: isolate; padding: clamp(25px,3vw,38px); color: var(--navy); text-decoration: none; background: linear-gradient(145deg,#fbf8f1,#f0eadf); }
.v15-accomplishment > img, .v15-accomplishment__veil { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.v15-accomplishment > img { object-fit: cover; opacity: 0; filter: grayscale(1) contrast(1.08); transform: scale(1.075); transition: opacity .48s ease, filter .55s ease, transform .72s cubic-bezier(.2,.65,.25,1); }
.v15-accomplishment--pentagon > img { object-position: 50% 31%; }
.v15-accomplishment--memorial > img { object-position: 50% 31%; }
.v15-accomplishment--enterprise > img { object-position: 50% 48%; }
.v15-accomplishment--promise > img { object-position: 50% 32%; }
.v15-accomplishment__veil { z-index: -1; opacity: 0; background: linear-gradient(0deg,rgba(3,13,21,.96),rgba(3,13,21,.44) 74%,rgba(3,13,21,.22)); transition: opacity .4s ease; }
.v15-accomplishment__copy { display: flex; min-height: 210px; flex-direction: column; }
.v15-accomplishment__copy small { color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.v15-accomplishment__copy strong { margin-top: auto; font: 600 clamp(1.65rem,2.7vw,2.65rem)/1.03 var(--v15-serif); letter-spacing: .01em; }
.v15-accomplishment__copy em { margin-top: 11px; color: #596a74; font: normal .66rem/1.45 var(--v15-sans); font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.v15-accomplishment__copy b { margin-top: 24px; color: var(--navy); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.v15-accomplishment:hover > img, .v15-accomplishment:focus-visible > img { opacity: 1; filter: grayscale(.15) contrast(1.06); transform: scale(1); }
.v15-accomplishment:hover .v15-accomplishment__veil, .v15-accomplishment:focus-visible .v15-accomplishment__veil { opacity: 1; }
.v15-accomplishment:hover, .v15-accomplishment:focus-visible { color: #fff; }
.v15-accomplishment:hover .v15-accomplishment__copy em, .v15-accomplishment:focus-visible .v15-accomplishment__copy em { color: #e4e9ec; }
.v15-accomplishment:hover .v15-accomplishment__copy b, .v15-accomplishment:focus-visible .v15-accomplishment__copy b { color: var(--gold2); }
.v15-accomplishment:focus-visible { outline: 3px solid var(--gold); outline-offset: -5px; }
.v15-arrow-link { display: inline-flex; gap: 12px; align-items: center; color: var(--navy); font-size: .69rem; font-weight: 800; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.v15-arrow-link span { color: var(--gold); font-size: 1.2rem; transition: transform .2s ease; }
.v15-arrow-link:hover span { transform: translateX(5px); }
.v15-arrow-link--light { color: #fff; }

/* Three visual doors */
.v15-portals { display: grid; grid-template-columns: repeat(3, 1fr); background: #071622; }
.v15-portal { position: relative; min-height: min(720px, 74vw); overflow: hidden; isolation: isolate; color: #fff; text-decoration: none; }
.v15-portal img, .v15-portal__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.v15-portal img { z-index: -2; object-fit: cover; transition: transform .75s cubic-bezier(.2,.65,.25,1), filter .5s ease; }
.v15-portal--photography img { object-position: 46% center; }
.v15-portal--enterprise img { object-position: 58% center; }
.v15-portal--public img { object-position: 50% 27%; }
.v15-portal__veil { z-index: -1; background: linear-gradient(0deg, rgba(3,12,19,.93) 0%, rgba(3,12,19,.54) 42%, rgba(3,12,19,.07) 73%); }
.v15-portal--public .v15-portal__veil { background: linear-gradient(0deg, rgba(3,12,19,.90) 0%, rgba(3,12,19,.64) 25%, rgba(3,12,19,.10) 46%, rgba(3,12,19,0) 64%); }
.v15-portal__copy { position: absolute; right: clamp(23px, 3vw, 48px); bottom: clamp(30px, 4vw, 56px); left: clamp(23px, 3vw, 48px); }
.v15-portal__copy small { display: block; margin-bottom: 22px; color: var(--gold2); font-size: .65rem; font-weight: 800; letter-spacing: .16em; }
.v15-portal__copy strong { display: block; color: #fff; font: 600 clamp(2rem, 3.5vw, 3.45rem)/1.02 var(--v15-serif); letter-spacing: .01em; }
.v15-portal__copy em { display: block; max-width: 420px; margin-top: 15px; color: #d4dde2; font: normal .9rem/1.55 var(--v15-sans); }
.v15-portal__place { display: block; margin-top: 11px; color: #e2e7ea; font: 750 .57rem/1.45 var(--v15-sans); font-style: normal; letter-spacing: .09em; text-transform: uppercase; }
.v15-portal__copy b { display: block; margin-top: 26px; color: var(--gold2); font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; }
.v15-portal:hover img { transform: scale(1.035); filter: saturate(1.07) contrast(1.02); }

/* Public work: fast pathways into the documented record */
.action-index { padding: clamp(68px, 8vw, 108px) 0; scroll-margin-top: 120px; background: #fff; }
.action-index__credo { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 25px 50px; align-items: end; margin: 0 0 clamp(65px, 9vw, 112px); padding: 0 0 clamp(36px, 5vw, 58px); border-bottom: 1px solid var(--line); }
.action-index__credo p { max-width: 980px; margin: 0; color: var(--navy); font: 600 clamp(2.15rem, 4.7vw, 5rem)/1.02 var(--v15-serif); letter-spacing: -.025em; }
.action-index__credo cite { max-width: 290px; padding-bottom: .4rem; color: var(--gold); font-size: .58rem; font-style: normal; font-weight: 800; letter-spacing: .09em; line-height: 1.65; text-align: right; text-transform: uppercase; }
.action-index__credo a { color: inherit; text-decoration-color: rgba(187,139,55,.5); text-underline-offset: 4px; }
.action-index__credo a:hover { color: var(--navy); }
.action-index__head { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: clamp(38px, 7vw, 96px); align-items: end; margin-bottom: 42px; }
.action-index__head h2 { margin: 0; color: var(--navy); }
.action-index__head > p { max-width: 690px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.75; }
.action-index__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.action-index__grid a { position: relative; display: flex; min-width: 0; min-height: 285px; padding: 27px 24px 24px; flex-direction: column; color: var(--navy); text-decoration: none; background: var(--paper); transition: background .2s ease, color .2s ease, transform .2s ease; }
.action-index__grid a > span { color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.action-index__grid strong { margin: 45px 0 16px; font: 600 clamp(1.18rem, 1.65vw, 1.52rem)/1.16 var(--v15-serif); }
.action-index__grid small { color: var(--muted); font-size: .65rem; font-weight: 720; letter-spacing: .045em; line-height: 1.55; text-transform: uppercase; }
.action-index__grid b { margin-top: auto; padding-top: 24px; color: var(--navy); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.action-index__grid a:hover { z-index: 1; color: #fff; background: var(--deep); transform: translateY(-4px); }
.action-index__grid a:hover > span, .action-index__grid a:hover b { color: var(--gold2); }
.action-index__grid a:hover small { color: #bac7cf; }
.action-index__grid a:focus-visible { z-index: 2; outline: 3px solid var(--gold); outline-offset: -3px; }

/* Compact case-study opening with optional depth */
.promise-story__overview { position: relative; display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); gap: clamp(38px,7vw,92px); align-items: center; }
.promise-story__overview-visual { width: min(100%,330px); margin: 0 auto; overflow: hidden; border: 9px solid #fff; background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.32); transform: rotate(-.7deg); }
.promise-story__overview-visual img { display: block; width: 100%; height: clamp(255px,27vw,330px); object-fit: cover; object-position: center 18%; filter: saturate(.88) contrast(1.04); }
.promise-story__overview-visual figcaption { margin: 0; padding: 12px 7px 5px; color: #57636b; font-size: .68rem; line-height: 1.45; }
.promise-story__overview-copy { max-width: 700px; }
.promise-story__overview-copy h2 { max-width: 650px; margin: 10px 0 25px; color: #fff; font-size: clamp(2.7rem,5.1vw,5rem); }
.promise-story__overview-copy > p:not(.eyebrow) { color: #c8d3da; }
.promise-story__overview-copy .promise-story__lede { margin-bottom: 22px; color: #fff; font: clamp(1.2rem,1.9vw,1.55rem)/1.46 var(--v15-serif); }
.promise-story__quote--compact { margin: 30px 0 22px; padding: 24px 0; }
.promise-story__quote--compact p { margin-bottom: 10px; font-size: clamp(2.65rem,5vw,4.8rem); }
.promise-story__quote--compact cite { font-size: .6rem; }
.promise-story__overview-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.promise-story__overview-links a { color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-decoration-color: rgba(255,255,255,.35); text-transform: uppercase; text-underline-offset: 4px; }
.promise-story__details { position: relative; margin-top: clamp(42px,6vw,72px); border: 1px solid rgba(255,255,255,.2); background: rgba(4,17,26,.42); }
.promise-story__details > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px 45px; align-items: center; min-height: 96px; padding: 22px clamp(22px,3vw,34px); cursor: pointer; list-style: none; }
.promise-story__details > summary::-webkit-details-marker { display: none; }
.promise-story__details > summary span { color: #fff; font: 600 clamp(1.15rem,1.8vw,1.45rem)/1.2 var(--v15-serif); }
.promise-story__details > summary small { max-width: 520px; color: #aebdc6; font-size: .61rem; font-weight: 750; letter-spacing: .065em; line-height: 1.5; text-align: right; text-transform: uppercase; }
.promise-story__details > summary span:after { content: " +"; color: var(--gold2); }
.promise-story__details[open] > summary { border-bottom: 1px solid rgba(255,255,255,.2); }
.promise-story__details[open] > summary span:after { content: " −"; }
.promise-story__deep { max-width: 900px; margin: 0 auto; padding: clamp(38px,6vw,78px) clamp(20px,5vw,68px); }
.promise-story__deep .promise-story__copy { max-width: none; }
.promise-story__deep-title { margin: 8px 0 30px; color: #fff; font-size: clamp(2rem,3.8vw,3.8rem); }

/* Editorial rollover system for linked cards and records */
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card) {
  --visual-card-image: url("assets/img/v15/david-national-wwii-memorial-night.jpg");
  --visual-card-position: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card)::before,
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card)::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s ease, transform .55s ease;
}
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card)::before {
  background: var(--visual-card-image) var(--visual-card-position) / cover no-repeat;
  filter: saturate(.78) contrast(1.03);
  transform: scale(1.055);
}
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card)::after {
  background: linear-gradient(145deg,rgba(5,18,28,.58),rgba(5,18,28,.9) 78%);
}
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card) > * { position: relative; z-index: 1; }
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card):is(:hover,:focus-visible)::before { opacity: 1; transform: scale(1); }
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card):is(:hover,:focus-visible)::after { opacity: 1; }
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card):is(:hover,:focus-visible) { color: #fff; background-color: #071622; }
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card):is(:hover,:focus-visible) :where(h2,h3,strong,b) { color: #fff; }
:where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card):is(:hover,:focus-visible) :where(p,small) { color: #d5dfe5; }

/* Story-specific image assignments */
.action-index__grid a:nth-child(1),.promise-story__records a:nth-child(2),.campaign-record:nth-child(3n+1) { --visual-card-image: url("assets/img/web/v15-frank-buckles-enlistment-1917-w800.jpg"); --visual-card-position: center 24%; }
.action-index__grid a:nth-child(2),.record-card:nth-child(2),.evidence-links a:nth-child(2) { --visual-card-image: url("assets/img/web/v15-five-wars-veterans-home-installation-2006-w800.jpg"); }
.action-index__grid a:nth-child(3),.evidence-links a:nth-child(3) { --visual-card-image: url("assets/img/web/v15-als-across-america-ed-dobson-jj-bouma-w800.jpg"); }
.action-index__grid a:nth-child(4) { --visual-card-image: url("assets/img/web/v15-legacy-icons-zeeland-facility-w800.jpg"); }
.action-index__grid a:nth-child(5),.evidence-links a:nth-child(5) { --visual-card-image: url("assets/img/web/pershings-last-patriot-poster-w800.jpg"); --visual-card-position: center 30%; }
.promise-story__records a:nth-child(1),.record-card:nth-child(1),.ap-ledger__grid a:nth-child(1) { --visual-card-image: url("assets/img/web/v15-oval-office-press-corps-march-6-2008-w800.jpg"); --visual-card-position: 36% center; }
.promise-story__records a:nth-child(3),.campaign-record:nth-child(3n+2) { --visual-card-image: url("assets/img/web/v15-oval-office-handshake-march-6-2008-w800.jpg"); }
.promise-story__records a:nth-child(4),.campaign-record:nth-child(3n+3) { --visual-card-image: url("assets/img/web/frank-buckles-dc-war-memorial-march-6-2008-w800.jpg"); --visual-card-position: center 22%; }
.promise-story__records a:nth-child(5),.record-card:nth-child(4) { --visual-card-image: url("assets/img/web/v15-david-frank-buckles-gap-view-farm-2007-w800.jpg"); }
.media-card:nth-child(4n+1),.writing-grid a:nth-child(1) { --visual-card-image: url("assets/img/web/newt-gingrich-washington-portrait-w800.jpg"); --visual-card-position: center 20%; }
.media-card:nth-child(4n+2),.writing-grid a:nth-child(2) { --visual-card-image: url("assets/img/web/v15-frank-buckles-enlistment-1917-w800.jpg"); --visual-card-position: center 22%; }
.media-card:nth-child(4n+3),.opinion-grid a:nth-child(1) { --visual-card-image: url("assets/img/web/portrait-gerald-r-ford-w800.jpg"); --visual-card-position: center 20%; }
.media-card:nth-child(4n),.opinion-grid a:nth-child(2) { --visual-card-image: url("assets/img/web/v15-david-national-wwii-memorial-night-w800.jpg"); }
.venture-timeline>a:nth-child(1) { --visual-card-image: url("assets/img/web/v15-david-dejonge-first-basement-studio-restored-w800.jpg"); }
.venture-timeline>a:nth-child(2) { --visual-card-image: url("assets/img/web/v15-dejonge-studio-amway-final-gallery-2014-w800.jpg"); --visual-card-position: center; }
.venture-timeline>a:nth-child(3) { --visual-card-image: url("assets/img/web/newt-gingrich-washington-portrait-w800.jpg"); --visual-card-position: center 22%; }
.venture-timeline>a:nth-child(4) { --visual-card-image: url("assets/img/web/v15-legacy-icons-zeeland-facility-w800.jpg"); --visual-card-position: center 52%; }

@media (max-width: 760px) {
  .promise-story__overview { grid-template-columns: 1fr; }
  .promise-story__overview-visual { width: min(78vw,320px); margin-inline: auto; }
  .promise-story__overview-visual img { height: min(78vw,330px); }
  .promise-story__details > summary { grid-template-columns: 1fr; }
  .promise-story__details > summary small { text-align: left; }
}
@media (hover: none) {
  :where(.action-index__grid a,.promise-story__records a,.media-card,.record-card,.campaign-record,.ap-ledger__grid a,.opinion-grid a,.evidence-links a,.writing-grid a,.press-reference-links a,.venture-timeline>a,.v15-proof__grid a,.proof-band__grid a,.v15-outlets a,.legacy-media-card)::before { opacity: .15; }
}

/* Remaining linked records and nested-link panels */
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article) {
  --visual-card-image: url("assets/img/web/v15-david-national-wwii-memorial-night-w800.jpg");
  --visual-card-position: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article)::before,
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article)::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s ease, transform .55s ease;
}
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article)::before {
  background: var(--visual-card-image) var(--visual-card-position) / cover no-repeat;
  filter: saturate(.78) contrast(1.03);
  transform: scale(1.055);
}
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article)::after {
  background: linear-gradient(145deg,rgba(5,18,28,.6),rgba(5,18,28,.92) 78%);
}
:where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article) > * {
  position: relative;
  z-index: 1;
}
:where(.honors-record a,.hero-proof a):is(:hover,:focus-visible)::before,
:where(.outlet-grid article,.enterprise-proof article):is(:hover,:focus-within)::before {
  opacity: 1;
  transform: scale(1);
}
:where(.honors-record a,.hero-proof a):is(:hover,:focus-visible)::after,
:where(.outlet-grid article,.enterprise-proof article):is(:hover,:focus-within)::after {
  opacity: 1;
}
:where(.honors-record a,.hero-proof a):is(:hover,:focus-visible),
:where(.outlet-grid article,.enterprise-proof article):is(:hover,:focus-within) {
  color: #fff;
  background-color: #071622;
}
:where(.honors-record a,.hero-proof a):is(:hover,:focus-visible) > :where(strong,span),
:where(.outlet-grid article,.enterprise-proof article):is(:hover,:focus-within) > :where(h3,p,a,span):not(.outlet-mark) {
  color: #fff;
}
.hero-proof a > span {
  display: block;
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* The archive links retain their arrow pseudo-element, so one combined image layer is used. */
.archive-list a {
  --visual-card-image: url("assets/img/web/pershings-last-patriot-poster-w800.jpg");
  --visual-card-position: center;
  isolation: isolate;
  overflow: hidden;
}
.archive-list a::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(145deg,rgba(5,18,28,.5),rgba(5,18,28,.88) 78%), var(--visual-card-image) var(--visual-card-position) / cover no-repeat;
  opacity: 0;
  transform: scale(1.055);
  transition: opacity .32s ease, transform .55s ease;
}
.archive-list a > span { position: relative; z-index: 1; }
.archive-list a::after { z-index: 2; }
.archive-list a:is(:hover,:focus-visible)::before { opacity: 1; transform: scale(1); }

/* Honors */
.honors-record > a:nth-child(2) { --visual-card-image: url("assets/img/web/v15-hudsonville-hall-of-fame-display-v2-w800.jpg"); }
.honors-record > a:nth-child(3) { --visual-card-image: url("assets/img/web/v15-mount-athos-monk-water-w800.jpg"); }
.honors-record > a:nth-child(4) { --visual-card-image: url("assets/img/web/frank-buckles-dc-war-memorial-march-6-2008-w800.jpg"); --visual-card-position: center 26%; }
.honors-record > a:nth-child(5) { --visual-card-image: url("assets/img/web/newt-gingrich-washington-portrait-w800.jpg"); --visual-card-position: center 20%; }
.honors-record > a:nth-child(6) { --visual-card-image: url("assets/img/web/v15-david-dejonge-first-basement-studio-restored-w800.jpg"); }

/* Family record */
.hero-proof a:nth-child(-n+2) { --visual-card-image: url("assets/img/web/history-van-belcum-line-w800.jpg"); }
.hero-proof a:nth-child(3) { --visual-card-image: url("assets/img/history/family-tree-van-belkum-full.jpg"); --visual-card-position: center 16%; }
.hero-proof a:nth-child(4) { --visual-card-image: url("assets/img/web/history-van-belcum-line-w800.jpg"); --visual-card-position: right center; }

/* Press outlet paths */
.outlet-grid article:nth-child(1),.outlet-grid article:nth-child(6) { --visual-card-image: url("assets/img/web/gallery-1-bob-faw-nbc-w800.jpg"); }
.outlet-grid article:nth-child(2),.outlet-grid article:nth-child(4),.outlet-grid article:nth-child(8) { --visual-card-image: url("assets/img/web/frank-buckles-dc-war-memorial-march-6-2008-w800.jpg"); --visual-card-position: center 22%; }
.outlet-grid article:nth-child(3) { --visual-card-image: url("assets/img/web/v15-frank-buckles-enlistment-1917-w800.jpg"); --visual-card-position: center 20%; }
.outlet-grid article:nth-child(5) { --visual-card-image: url("assets/img/web/portrait-gerald-r-ford-w800.jpg"); --visual-card-position: center 18%; }
.outlet-grid article:nth-child(7),.outlet-grid article:nth-child(14) { --visual-card-image: url("assets/img/web/v15-oval-office-press-corps-march-6-2008-w800.jpg"); --visual-card-position: 36% center; }
.outlet-grid article:nth-child(9) { --visual-card-image: url("assets/img/web/pershings-last-patriot-poster-w800.jpg"); }
.outlet-grid article:nth-child(10) { --visual-card-image: url("assets/img/web/v15-blackfeet-capitol-pair-w800.jpg"); }
.outlet-grid article:nth-child(11) { --visual-card-image: url("assets/img/web/v15-david-frank-buckles-gap-view-farm-2007-w800.jpg"); }
.outlet-grid article:nth-child(12) { --visual-card-image: url("assets/img/web/newt-gingrich-washington-portrait-w800.jpg"); --visual-card-position: center 20%; }
.outlet-grid article:nth-child(13) { --visual-card-image: url("assets/img/web/david-amway-grand-plaza-studio-w800.jpg"); }
.outlet-grid article:nth-child(15) { --visual-card-image: url("assets/img/web/v15-yellow-line-air-force-one-w800.jpg"); }

/* Enterprise evidence */
.enterprise-proof article:nth-child(1) { --visual-card-image: url("assets/img/web/david-amway-grand-plaza-studio-w800.jpg"); }
.enterprise-proof article:nth-child(2) { --visual-card-image: url("assets/img/web/v15-legacy-icons-zeeland-facility-w800.jpg"); }
.enterprise-proof article:nth-child(3) { --visual-card-image: url("assets/img/web/gallery-7-sinai-w800.jpg"); }

/* Video archive */
.archive-list a:nth-child(-n+3) { --visual-card-image: url("assets/img/web/v15-oval-office-press-corps-march-6-2008-w800.jpg"); --visual-card-position: 36% center; }
.archive-list a:nth-child(4) { --visual-card-image: url("assets/img/web/frank-buckles-dc-war-memorial-march-6-2008-w800.jpg"); --visual-card-position: center 22%; }
.archive-list a:nth-child(n+5) { --visual-card-image: url("assets/img/web/pershings-last-patriot-poster-w800.jpg"); }

@media (hover: none) {
  :where(.honors-record a,.hero-proof a,.outlet-grid article,.enterprise-proof article)::before,
  .archive-list a::before { opacity: .15; }
}

/* Proof strip */
.v15-proof { border-top: 1px solid rgba(255,255,255,.13); color: #fff; background: var(--deep); }
.v15-proof__grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.v15-proof__grid a { min-width: 0; min-height: 150px; padding: 30px 26px; border-left: 1px solid rgba(255,255,255,.12); color: #b8c6ce; text-decoration: none; }
.v15-proof__grid a:last-child { border-right: 1px solid rgba(255,255,255,.12); }
.v15-proof__grid strong { display: block; margin-bottom: 17px; color: var(--gold2); font: 600 clamp(1.5rem, 2.4vw, 2.45rem)/1 var(--v15-serif); }
.v15-proof__grid span { display: block; font-size: .66rem; font-weight: 750; letter-spacing: .07em; line-height: 1.5; text-transform: uppercase; }
.v15-proof__grid a:hover { background: rgba(255,255,255,.05); }

/* Visual mosaic */
.v15-seeing { padding: var(--v15-space) 0; background: var(--paper); }
.v15-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); gap: clamp(35px, 7vw, 100px); align-items: end; margin-bottom: 48px; }
.v15-section-head h2 { max-width: 740px; margin: 0; color: var(--navy); }
.v15-section-head > p { margin: 0; color: var(--muted); }
.v15-mosaic { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-flow: dense; gap: 15px; }
.v15-mosaic__item { position: relative; display: block; min-height: 290px; overflow: hidden; color: #fff; text-decoration: none; background: var(--deep); }
.v15-mosaic__item:not(.v15-mosaic__item--humanity) { min-width: 0; min-height: 0; }
.v15-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.65,.25,1); }
.v15-mosaic__item:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,12,19,.54) 0%, rgba(3,12,19,.20) 18%, rgba(3,12,19,0) 40%); pointer-events: none; }
.v15-mosaic__item--blackfeet:after { background: linear-gradient(0deg, rgba(3,12,19,.48) 0%, rgba(3,12,19,.14) 17%, rgba(3,12,19,0) 38%); }
.v15-mosaic__item--airforce:after { background: linear-gradient(0deg, rgba(3,12,19,.42) 0%, rgba(3,12,19,.11) 16%, rgba(3,12,19,0) 35%); }
.v15-mosaic__item span { position: absolute; z-index: 1; right: 22px; bottom: 19px; left: 22px; text-shadow: 0 2px 3px rgba(3,12,19,.92), 0 5px 16px rgba(3,12,19,.55); }
.v15-mosaic__item b, .v15-mosaic__item small { display: block; }
.v15-mosaic__item b { color: #fff; font: 600 1.18rem/1.2 var(--v15-serif); }
.v15-mosaic__item small { margin-top: 5px; color: #d7dfe3; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.v15-mosaic__item:hover img { transform: scale(1.035); }
.v15-mosaic__item--kissinger { grid-column: span 7; aspect-ratio: 2.25 / 1; }
.v15-mosaic__item--susannah { grid-column: span 5; aspect-ratio: 1.94 / 1; }
.v15-mosaic__item--blackfeet { grid-column: span 5; aspect-ratio: 1.62 / 1; }
.v15-mosaic__item--airforce { grid-column: span 7; aspect-ratio: 1.52 / 1; }
.v15-mosaic__item--desert { grid-column: span 8; aspect-ratio: 1.5 / 1; }
.v15-mosaic__item--humanity { grid-column: span 4; min-height: 0; aspect-ratio: 4 / 5; }
.v15-mosaic__item--humanity img { object-position: center 38%; }
.v15-seeing__link { margin-top: 34px; }

/* Enterprise preview */
.v15-enterprise-preview { padding: var(--v15-space) 0; color: #fff; background: linear-gradient(135deg, #071622, #12364a); }
.v15-enterprise-preview__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 115px); }
.v15-enterprise-preview__lead h2 { max-width: 630px; color: #fff; }
.v15-enterprise-preview__lead > p:not(.eyebrow) { max-width: 600px; color: #c0cdd4; }
.v15-enterprise-preview__lead > p a,.legacy-story__grid > div > p a { color: #fff; text-decoration-color: rgba(255,255,255,.38); }
.v15-enterprise-preview__lead > p a:hover,.v15-enterprise-preview__lead > p a:focus-visible,.legacy-story__grid > div > p a:hover,.legacy-story__grid > div > p a:focus-visible { color: var(--gold2); text-decoration-color: currentColor; }
.v15-enterprise-preview__lead .v15-arrow-link { margin-top: 18px; }
.v15-enterprise-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.v15-enterprise-steps li { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.v15-enterprise-steps li > span { color: var(--gold2); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.v15-enterprise-steps strong { color: #fff; font: 600 1.35rem/1.2 var(--v15-serif); }
.v15-enterprise-steps p { margin: 7px 0 0; color: #aebdc6; font-size: .84rem; }

/* One frame / one story */
.v15-frame-story { display: block; min-height: 0; background: #fff; }
.v15-frame-story__image { aspect-ratio: 4752 / 2454; overflow: hidden; background: #05090c; }
.v15-frame-story__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.v15-frame-story__copy { display: grid; grid-template-columns: minmax(210px, .48fr) minmax(0, 1.52fr); gap: 8px clamp(38px, 7vw, 100px); width: min(1180px, calc(100% - 42px)); max-width: none; margin: 0 auto; padding: clamp(65px, 8vw, 110px) 0; align-self: center; }
.v15-frame-story__copy .eyebrow { grid-row: 1 / span 4; margin-top: 7px; }
.v15-frame-story__copy h2, .v15-frame-story__copy > p:not(.eyebrow), .v15-frame-story__copy .v15-arrow-link { grid-column: 2; }
.v15-frame-story__copy h2 { color: var(--navy); }
.v15-frame-story__copy p:not(.eyebrow) { color: #52616a; }
.v15-frame-story__copy .v15-arrow-link { margin-top: 12px; }

/* Promise */
.v15-promise { padding: var(--v15-space) 0; color: #fff; background: #071622; }
.v15-promise__grid { display: grid; grid-template-columns: minmax(330px, .65fr) minmax(0, 1.35fr); gap: clamp(48px, 8vw, 120px); align-items: center; }
.v15-promise figure { margin: 0; }
.v15-promise figure img { width: 100%; max-height: 760px; object-fit: cover; object-position: center 25%; filter: grayscale(.18) contrast(1.03); }
.v15-promise figcaption { margin-top: 14px; color: #85959f; font-size: .62rem; line-height: 1.5; }
.v15-promise__copy h2 { max-width: 760px; color: #fff; }
.v15-promise__copy > p:not(.eyebrow) { max-width: 720px; color: #c2cdd3; font-size: 1.04rem; }
.v15-promise__outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 36px 0; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); }
.v15-promise__outcomes span { min-height: 142px; padding: 25px; color: #aebdc6; background: #0b2130; font-size: .64rem; font-weight: 750; letter-spacing: .07em; line-height: 1.5; text-transform: uppercase; }
.v15-promise__outcomes strong { display: block; margin-bottom: 19px; color: var(--gold2); font: 600 2rem/1 var(--v15-serif); text-transform: none; }

/* Recognition / biography / closing */
.v15-recognition { padding: clamp(70px, 8vw, 108px) 0; background: var(--paper); }
.v15-recognition__head { display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 30px; align-items: end; margin-bottom: 33px; }
.v15-recognition__head .eyebrow { margin: 0; }
.v15-recognition__head h2 { margin: 0; color: var(--navy); font-size: clamp(1.9rem, 3vw, 3rem); }
.v15-recognition__head > a { font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.v15-outlets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.v15-outlets a { display: flex; min-width: 0; min-height: 122px; padding: 18px 17px 16px; flex-direction: column; color: var(--navy); text-decoration: none; background: #fff; }
.v15-outlets .outlet-mark { min-height: 42px; margin: 0; color: var(--navy); }
.v15-outlets .outlet-logo { max-width: 150px; height: 43px; margin: 0; padding: 0; background: transparent; object-position: left center; }
.v15-outlets .outlet-logo--square { width: 43px; }
.v15-outlets .outlet-logo--npr { width: 96px; }
.v15-outlets .outlet-logo--nbc { width: 145px; }
.v15-outlets .outlet-logo--wapo { width: 145px; }
.v15-outlets .outlet-mark--npr i { width: 30px; height: 30px; font-size: 1.18rem; }
.v15-outlets .outlet-mark--cnn { color: #d9232e; font-size: 2rem; }
.v15-outlets .outlet-mark--cbs, .v15-outlets .outlet-mark--nbc { font-size: 1.35rem; }
.v15-outlets .outlet-mark--wapo { max-width: 150px; font-size: 1.12rem; }
.v15-outlets .outlet-mark--pp { font-size: .92rem; }
.v15-outlets a > small { display: block; margin-top: auto; color: var(--muted); font-size: .54rem; font-weight: 750; letter-spacing: .075em; line-height: 1.4; text-transform: uppercase; }
.v15-outlets a:hover { background: #f8f4ec; }
.v15-biography-whisper { padding: var(--v15-space) 0; background: #fff; }
.v15-biography-whisper__grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(45px, 8vw, 115px); align-items: end; }
.v15-biography-whisper h2 { margin: 0; color: var(--navy); }
.v15-biography-whisper__grid > div:last-child > p { color: #4d5c65; font-size: 1.06rem; }
.v15-biography-whisper__links { display: flex; flex-wrap: wrap; gap: 11px 25px; margin-top: 24px; }
.v15-biography-whisper__links a { font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.v15-final { position: relative; min-height: min(780px, 78svh); display: grid; align-items: center; overflow: hidden; isolation: isolate; color: #fff; }
.v15-final > img, .v15-final__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.v15-final > img { z-index: -2; object-fit: cover; object-position: center 42%; }
.v15-final__shade { z-index: -1; background: linear-gradient(90deg, rgba(3,12,19,.93), rgba(3,12,19,.64) 54%, rgba(3,12,19,.13)); }
.v15-final__copy { padding: 90px 0; }
.v15-final__copy h2 { max-width: 750px; color: #fff; }
.v15-final__copy p:not(.eyebrow) { max-width: 590px; color: #d2dbe0; }

/* Footer */
.site-footer--v15 { padding: 54px 0; background: #fff; }
.v15-footer { display: grid; grid-template-columns: auto 1fr auto; gap: 38px; align-items: center; }
.v15-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; }
.v15-footer nav a { min-height: 24px; display: inline-flex; align-items: center; color: var(--navy); font-size: .66rem; font-weight: 800; letter-spacing: .075em; text-decoration: none; text-transform: uppercase; }
.v15-footer__meta { color: var(--muted); font-size: .67rem; }

/* Shared V15 interior-page system */
.v15-page .page-hero { padding: clamp(82px, 10vw, 135px) 0; }
.v15-page .page-hero h1 { letter-spacing: .006em; text-wrap: balance; }
.v15-page .site-header .nav { width: min(1320px, calc(100% - 42px)); }
.v15-page .site-header .menu { gap: clamp(12px, 1.65vw, 25px); }
.v15-page .site-header .menu a { min-height: 24px; display: inline-flex; align-items: center; font-size: .69rem; }
.family-breadcrumb { display: flex; gap: 10px; align-items: center; margin-bottom: 24px; color: #c9d4da; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.family-breadcrumb a { color: #fff; }
.family-breadcrumb strong { color: var(--gold2); }

.v15-page-hero { position: relative; min-height: clamp(620px, 76svh, 850px); display: grid; align-items: end; overflow: hidden; isolation: isolate; color: #fff; background: var(--deep); }
.v15-page-hero > img, .v15-page-hero:after { position: absolute; inset: 0; width: 100%; height: 100%; }
.v15-page-hero > img { z-index: -2; object-fit: cover; }
.v15-page-hero:after { content: ""; z-index: -1; background: linear-gradient(90deg, rgba(3,12,19,.92), rgba(3,12,19,.48) 62%, rgba(3,12,19,.08)), linear-gradient(0deg, rgba(3,12,19,.66), transparent 56%); }
.photography-page .v15-page-hero:after { background: linear-gradient(90deg, rgba(3,12,19,.66), rgba(3,12,19,.20) 62%, rgba(3,12,19,.02)), linear-gradient(0deg, rgba(3,12,19,.34), transparent 50%); }
.photography-page .v15-page-hero__copy { text-shadow: 0 2px 18px rgba(3,12,19,.66); }
.enterprise-page .v15-page-hero:after { background: linear-gradient(90deg, rgba(3,12,19,.70), rgba(3,12,19,.19) 60%, rgba(3,12,19,.02)), linear-gradient(0deg, rgba(3,12,19,.28), transparent 48%); }
.enterprise-page .v15-page-hero__copy { text-shadow: 0 2px 18px rgba(3,12,19,.62); }
.enterprise-page .v15-page-hero__image { transition: opacity .52s ease, transform .8s ease; }
.enterprise-page .v15-page-hero__image--legacy { opacity: 0; object-position: center 52%; transform: scale(1.025); }
.enterprise-page .v15-page-hero__credit { transition: opacity .28s ease; }
.enterprise-page .v15-page-hero__credit--legacy { opacity: 0; }
.enterprise-page .v15-page-hero[data-enterprise-hero-preview="legacy"] .v15-page-hero__image--legacy,
.enterprise-page .v15-page-hero:has([data-enterprise-preview="legacy"]:is(:hover,:focus-visible)) .v15-page-hero__image--legacy { opacity: 1; transform: scale(1); }
.enterprise-page .v15-page-hero[data-enterprise-hero-preview="legacy"] .v15-page-hero__credit--studio,
.enterprise-page .v15-page-hero:has([data-enterprise-preview="legacy"]:is(:hover,:focus-visible)) .v15-page-hero__credit--studio { opacity: 0; }
.enterprise-page .v15-page-hero[data-enterprise-hero-preview="legacy"] .v15-page-hero__credit--legacy,
.enterprise-page .v15-page-hero:has([data-enterprise-preview="legacy"]:is(:hover,:focus-visible)) .v15-page-hero__credit--legacy { opacity: 1; }
.v15-page-hero__copy { padding: 90px 0; }
.v15-page-hero__copy h1 { max-width: 850px; color: #fff; }
.v15-page-hero__copy > p:not(.eyebrow) { max-width: 660px; color: #d2dce1; font-size: 1.06rem; }
.v15-page-hero__credit { position: absolute; right: 24px; bottom: 18px; margin: 0; color: rgba(255,255,255,.74); font-size: .57rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; writing-mode: vertical-rl; }
.credit-link { color: inherit; text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.credit-link:hover,
.credit-link:focus-visible { text-decoration-color: currentColor; }

.v15-subnav { position: sticky; top: 96px; z-index: 80; border-bottom: 1px solid var(--line); background: rgba(251,248,241,.97); backdrop-filter: blur(16px); }
.v15-subnav__inner { display: flex; gap: 26px; overflow-x: auto; scrollbar-width: none; }
.v15-subnav__inner a { flex: 0 0 auto; padding: 15px 0; color: var(--navy); font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }

/* Photography */
.photo-intro { padding: var(--v15-space) 0 clamp(56px, 7vw, 95px); background: #fff; }
.photo-intro__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(40px, 8vw, 110px); align-items: start; }
.photo-intro h2 { margin: 0; color: var(--navy); }
.photo-intro__grid > div:last-child p:first-child { color: var(--navy); font: 1.28rem/1.55 var(--v15-serif); }
.portfolio-section { padding: 0 0 var(--v15-space); background: #fff; }
.portfolio-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.portfolio-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.portfolio-filter { padding: 10px 14px; border: 1px solid var(--line); background: transparent; color: var(--navy); font: 800 .62rem/1 var(--v15-sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.portfolio-filter:hover, .portfolio-filter.is-active { border-color: var(--navy); background: var(--navy); color: #fff; }
.portfolio-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 15px; }
.portfolio-card { grid-column: span 4; margin: 0; overflow: hidden; background: var(--deep); box-shadow: 0 12px 36px rgba(7,22,34,.08); }
.portfolio-card.is-wide { grid-column: span 8; }
.portfolio-card.is-hidden { display: none; }
.portfolio-card__button { width: 100%; padding: 0; border: 0; color: inherit; text-align: left; background: transparent; cursor: zoom-in; }
.portfolio-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; background: #142736; }
.portfolio-card.is-wide .portfolio-card__media { aspect-ratio: 16 / 8.4; }
.portfolio-card.is-square .portfolio-card__media { aspect-ratio: 1; }
.portfolio-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.tone-ted { filter: brightness(1.08) saturate(.90); }
.portfolio-card__button:hover img { transform: scale(1.025); }
.portfolio-card__text { display: block; min-height: 94px; padding: 18px 20px; }
.portfolio-card__text strong, .portfolio-card__text small { display: block; }
.portfolio-card__text strong { color: #fff; font: 600 1.05rem/1.25 var(--v15-serif); }
.portfolio-card__text small { margin-top: 7px; color: #aebdc6; font-size: .56rem; font-weight: 800; letter-spacing: .075em; line-height: 1.45; text-transform: uppercase; }
.portfolio-section, #humanity, .enterprise-story, .enterprise-teaching, .legacy-story, .legacy-facility, .legacy-media, .founder-method { scroll-margin-top: 145px; }
.photo-chapter { padding: var(--v15-space) 0; scroll-margin-top: 145px; }
.photo-chapter--dark { color: #fff; background: var(--deep); }
.photo-chapter--paper { background: var(--paper); }
.photo-chapter__grid { display: grid; grid-template-columns: minmax(330px, .88fr) minmax(0, 1.12fr); gap: clamp(45px, 8vw, 110px); align-items: center; }
.photo-chapter__grid > figure { margin: 0; }
.photo-chapter__grid > figure img { width: 100%; }
.photo-chapter__grid figcaption { margin-top: 13px; color: var(--muted); font-size: .63rem; }
.photo-chapter--dark figcaption { color: #8fa0aa; }
.photo-chapter__copy h2 { color: var(--navy); }
.photo-chapter--dark .photo-chapter__copy h2 { color: #fff; }
.photo-chapter__copy > p:not(.eyebrow) { color: #506069; }
.photo-chapter--dark .photo-chapter__copy > p:not(.eyebrow) { color: #bdc9d1; }
.faith-photo-story__intro { display: grid; grid-template-columns: minmax(260px,.66fr) minmax(0,1.34fr); gap: clamp(42px,7vw,94px); align-items: end; }
.faith-photo-story__intro .photo-chapter__copy .v15-arrow-link { margin: 14px 24px 0 0; }
.faith-photo-story figure { margin: 0; min-width: 0; }
.faith-photo-story figure img { display: block; width: 100%; height: auto; background: #030b10; transition: filter .42s ease; }
.faith-photo-story figure:hover img { filter: contrast(1.035); }
.faith-photo-story figcaption { display: grid; gap: 5px; margin-top: 13px; color: #a9b7c0; font-size: .62rem; line-height: 1.5; }
.faith-photo-story figcaption span { color: #d8e0e5; }
.faith-photo-story figcaption small { color: #748893; font-size: .52rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.faith-photo-story__gallery { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(28px,4vw,58px) clamp(14px,2vw,24px); align-items: end; margin-top: clamp(54px,8vw,98px); padding-top: clamp(30px,4vw,48px); border-top: 1px solid rgba(255,255,255,.15); }
.faith-photo-story__gallery .faith-photo-story__wide { grid-column: span 7; }
.faith-photo-story__gallery .faith-photo-story__portrait { grid-column: span 6; width: min(92%,520px); justify-self: center; }
.faith-photo-story__gallery .faith-photo-story__compact { grid-column: span 5; }
.faith-photo-story__gallery .faith-photo-story__compact + .faith-photo-story__wide { grid-column: span 7; }
.faith-photo-story__gallery .faith-photo-story__panorama { grid-column: 1 / -1; width: min(100%,1100px); justify-self: center; }
.faith-photo-story__lead img { box-shadow: 0 24px 62px rgba(0,0,0,.24); }
.lightbox { width: min(94vw, 1280px); max-height: 94vh; padding: 0; border: 0; background: #06131d; color: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.5); }
.lightbox::backdrop { background: rgba(0,0,0,.86); backdrop-filter: blur(5px); }
.lightbox__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .28fr); max-height: 94vh; }
.lightbox__image-wrap { display: grid; place-items: center; min-height: 70vh; background: #03090d; overflow: hidden; }
.lightbox__image { max-width: 100%; max-height: 94vh; object-fit: contain; }
.lightbox__copy { padding: 45px 34px; align-self: center; }
.lightbox__copy h2 { color: #fff; font-size: 1.8rem; }
.lightbox__copy p { color: #aebdc6; font-size: .78rem; }
.lightbox__close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.35); background: rgba(3,12,19,.7); color: #fff; font-size: 1.35rem; cursor: pointer; }

/* Enterprise */
.enterprise-story { padding: var(--v15-space) 0; background: #fff; }
.enterprise-story__intro { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(45px, 8vw, 110px); align-items: end; }
.enterprise-story__intro h2 { margin: 0; color: var(--navy); }
.enterprise-story__intro > div:last-child p:first-child { color: var(--navy); font: 1.25rem/1.55 var(--v15-serif); }
.studio-evolution { margin-top: 58px; padding: clamp(28px,4vw,48px); color: #fff; background: linear-gradient(145deg,#071622,#12364a); box-shadow: 0 24px 60px rgba(7,22,34,.16); }
.studio-evolution__heading { display: grid; grid-template-columns: minmax(240px,.78fr) minmax(0,1.22fr); gap: clamp(26px,5vw,72px); align-items: end; margin-bottom: 31px; }
.studio-evolution__heading .eyebrow { grid-column: 1 / -1; margin-bottom: -9px; }
.studio-evolution__heading h3 { margin: 0; color: #fff; font-size: clamp(1.75rem,3.1vw,2.85rem); line-height: 1.08; }
.studio-evolution__heading > p:last-child { margin: 0; color: #b9c7cf; font-size: .8rem; line-height: 1.7; }
.studio-evolution__rail { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.15); }
.studio-stage { min-width: 0; margin: 0; background: #0b2331; }
.studio-stage__media { overflow: hidden; aspect-ratio: 4 / 3; background: #030b10; }
.studio-stage__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s ease; }
.studio-stage:nth-child(3) .studio-stage__media img { object-position: 58% center; }
.studio-stage:nth-child(4) .studio-stage__media img { object-position: 49% center; }
.studio-stage:hover .studio-stage__media img { transform: scale(1.025); }
.studio-stage figcaption { min-height: 188px; padding: 21px 20px 24px; }
.studio-stage figcaption span, .studio-stage figcaption strong { display: block; }
.studio-stage figcaption span { color: var(--gold2); font-size: .54rem; font-weight: 800; letter-spacing: .105em; line-height: 1.45; text-transform: uppercase; }
.studio-stage figcaption strong { margin-top: 17px; color: #fff; font: 600 1.08rem/1.2 var(--v15-serif); }
.studio-stage figcaption p { margin: 10px 0 0; color: #9fb0ba; font-size: .65rem; line-height: 1.6; }
.studio-stage figcaption a { color: inherit; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 3px; }
.studio-stage figcaption a:hover, .studio-stage figcaption a:focus-visible { color: #fff; text-decoration-color: currentColor; }
.venture-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 55px; border: 1px solid var(--line); background: var(--line); }
.venture-timeline > a { display: flex; min-height: 235px; flex-direction: column; padding: 28px; background: var(--paper); color: inherit; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.venture-timeline > a:hover { z-index: 1; background: #fff; transform: translateY(-4px); }
.venture-timeline > a:focus-visible { z-index: 2; outline: 3px solid var(--gold); outline-offset: -3px; }
.venture-timeline time { color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.venture-timeline h3 { margin: 48px 0 12px; color: var(--navy); }
.venture-timeline p { color: var(--muted); font-size: .81rem; }
.venture-timeline > a > span { margin-top: auto; padding-top: 18px; color: var(--navy); font-size: .57rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.enterprise-case { padding: var(--v15-space) 0; scroll-margin-top: 145px; color: #fff; background: linear-gradient(135deg, #071622, #12364a); }
.enterprise-case__grid { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); gap: clamp(50px, 9vw, 125px); align-items: center; }
.enterprise-case figure { margin: 0; }
.enterprise-case figure img { width: 100%; max-height: 760px; object-fit: cover; object-position: center top; }
.enterprise-case figcaption { margin-top: 13px; color: #90a1aa; font-size: .62rem; }
.enterprise-case h2 { color: #fff; }
.enterprise-case__copy > p:not(.eyebrow) { color: #c2ced5; }
.enterprise-case__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 32px 0; background: rgba(255,255,255,.15); }
.enterprise-case__facts span { padding: 22px; background: rgba(7,22,34,.82); color: #9fb0ba; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.enterprise-case__facts strong { display: block; margin-bottom: 12px; color: var(--gold2); font: 600 1.5rem/1 var(--v15-serif); text-transform: none; }
.enterprise-standard { padding: var(--v15-space) 0; scroll-margin-top: 145px; background: var(--paper); }
.enterprise-standard__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); column-gap: clamp(45px, 8vw, 110px); row-gap: clamp(38px, 5vw, 68px); }
.enterprise-standard__copy h2 { color: var(--navy); }
.enterprise-standard__principles { display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.enterprise-standard__principles article { padding: 26px; background: #fff; }
.enterprise-standard__principles span { color: var(--gold); font-size: .61rem; font-weight: 800; letter-spacing: .12em; }
.enterprise-standard__principles h3 { margin: 12px 0 9px; color: var(--navy); font-size: 1.2rem; }
.enterprise-standard__principles p { margin: 0; color: var(--muted); font-size: .78rem; }
.enterprise-standard__portrait { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); margin: 0; overflow: hidden; background: var(--deep); box-shadow: 0 18px 52px rgba(7,22,34,.14); }
.enterprise-standard__portrait-image { display: block; min-height: 520px; overflow: hidden; background: #071621; }
.enterprise-standard__portrait-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .55s ease; }
.enterprise-standard__portrait-image:hover img, .enterprise-standard__portrait-image:focus-visible img { transform: scale(1.018); }
.enterprise-standard__portrait figcaption { align-self: center; padding: clamp(34px, 6vw, 74px); }
.enterprise-standard__portrait .eyebrow { color: var(--gold2); }
.enterprise-standard__portrait h3 { max-width: 680px; margin: 18px 0 22px; color: #fff; font: 600 clamp(1.9rem, 3.8vw, 3.45rem)/1.08 var(--v15-serif); }
.enterprise-standard__portrait figcaption > p:not(.eyebrow) { max-width: 690px; color: #c2ced5; font-size: .85rem; line-height: 1.72; }
.enterprise-standard__portrait .v15-arrow-link { margin-top: 17px; }
.enterprise-teaching { padding: var(--v15-space) 0; background: #fff; }
.enterprise-teaching__inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(42px, 7vw, 95px); align-items: center; }
.enterprise-teaching figure { margin: 0; }
.enterprise-teaching figure img { display: block; width: 100%; max-width: 680px; height: auto; box-shadow: 0 18px 48px rgba(7,22,34,.13); }
.enterprise-teaching figcaption { margin-top: 12px; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.enterprise-teaching__copy { align-self: center; padding: 0; }
.enterprise-teaching__copy h2 { color: var(--navy); }
.legacy-story { position: relative; padding: var(--v15-space) 0; overflow: hidden; color: #fff; background: #071622; }
.legacy-story__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 110px); align-items: center; }
.legacy-story figure { margin: 0; }
.legacy-story figure img { width: 100%; }
.legacy-story figcaption { margin-top: 13px; color: #8ea0aa; font-size: .62rem; }
.legacy-story h2 { color: #fff; }
.legacy-story p:not(.eyebrow) { color: #bdc9d1; }
.legacy-stewardship-quote { margin: 30px 0; padding: 5px 0 5px 22px; border-left: 2px solid #c79a51; }
.legacy-stewardship-quote p { margin: 0; color: #fff !important; font: italic 600 clamp(1.2rem,2vw,1.55rem)/1.35 var(--v15-serif); }
.legacy-stewardship-quote cite { display: block; margin-top: 11px; color: #9cadb7; font-size: .54rem; font-style: normal; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.legacy-scale { padding: clamp(72px,9vw,122px) 0; scroll-margin-top: 145px; background: #fff; }
.legacy-scale__inner { display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: clamp(50px,8vw,110px); align-items: end; }
.legacy-scale__copy h2 { margin: 0 0 24px; color: var(--navy); }
.legacy-scale__copy > p:not(.eyebrow) { color: var(--muted); font-size: .83rem; line-height: 1.7; }
.legacy-scale__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); }
.legacy-scale__facts div { min-height: 158px; padding: 28px; background: var(--paper); }
.legacy-scale__facts dt { color: var(--navy); font: 600 clamp(1.7rem,3vw,2.65rem)/1 var(--v15-serif); }
.legacy-scale__facts dd { margin: 14px 0 0; color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .09em; line-height: 1.45; text-transform: uppercase; }
.legacy-scale__note { grid-column: 1 / -1; margin: -26px 0 0; color: #718089; font-size: .63rem; line-height: 1.6; }
.legacy-facility { padding: var(--v15-space) 0; background: var(--paper); }
.legacy-facility__grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr); gap: clamp(45px, 8vw, 110px); align-items: center; }
.legacy-facility figure { margin: 0; }
.legacy-facility figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.legacy-facility figcaption { margin-top: 13px; color: var(--muted); font-size: .63rem; }
.legacy-facility__copy h2 { color: var(--navy); }
.legacy-facility__copy > p:not(.eyebrow) { color: #506069; }
.legacy-media { padding: var(--v15-space) 0; color: #fff; background: linear-gradient(145deg, #071622 0%, #12364a 72%, #173f54 100%); }
.legacy-media__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .55fr); gap: clamp(35px, 7vw, 100px); align-items: end; margin-bottom: 45px; }
.legacy-media__head h2 { max-width: 760px; margin: 0; color: #fff; }
.legacy-media__head > p { max-width: 570px; margin: 0; color: #bdc9d1; }
.legacy-media__feature { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(290px, .58fr); margin-bottom: 18px; background: #06131d; box-shadow: 0 22px 60px rgba(0,0,0,.24); }
.legacy-media__video { position: relative; min-width: 0; aspect-ratio: 16 / 9; background: #000; }
.legacy-media__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.legacy-media__feature-copy { align-self: center; padding: clamp(30px, 5vw, 65px); }
.legacy-media__feature-copy > span, .legacy-media-card__source { display: block; color: var(--gold2); font-size: .61rem; font-weight: 800; letter-spacing: .12em; line-height: 1.45; text-transform: uppercase; }
.legacy-media__feature-copy h3 { margin: 28px 0 15px; color: #fff; font-size: clamp(1.65rem, 2.8vw, 2.75rem); line-height: 1.08; }
.legacy-media__feature-copy p { margin: 0 0 28px; color: #afbec7; font-size: .85rem; }
.legacy-media__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 1px; background: rgba(255,255,255,.16); }
.legacy-media-card { display: flex; min-width: 0; min-height: 330px; padding: clamp(24px, 3vw, 35px); flex-direction: column; color: #fff; text-decoration: none; background: rgba(7,22,34,.97); transition: background .2s ease, transform .2s ease; }
.legacy-media-card--audio { background: rgba(18,54,74,.98); }
.legacy-media-card h3 { margin: 48px 0 13px; color: #fff; font-size: clamp(1.25rem, 1.7vw, 1.65rem); line-height: 1.15; }
.legacy-media-card p { margin: 0 0 26px; color: #aebdc6; font-size: .77rem; line-height: 1.6; }
.legacy-media-card > b { display: flex; gap: 10px; align-items: center; margin-top: auto; color: #fff; font-size: .62rem; letter-spacing: .085em; text-transform: uppercase; }
.legacy-media-card > b i { color: var(--gold2); font-size: .9rem; font-style: normal; }
.legacy-media-card:hover { z-index: 1; background: #17445b; transform: translateY(-3px); }
.legacy-media__channel { margin-top: 32px; }
.founder-method { padding: var(--v15-space) 0; background: #fff; }
.founder-method__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(45px, 8vw, 110px); }
.founder-method h2 { margin: 0; color: var(--navy); }
.founder-method ol { margin: 0; padding: 0; list-style: none; counter-reset: method; border-top: 1px solid var(--line); }
.founder-method li { position: relative; padding: 23px 20px 23px 70px; border-bottom: 1px solid var(--line); counter-increment: method; }
.founder-method li:before { content: "0" counter(method); position: absolute; left: 0; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .1em; }
.founder-method li strong { display: block; margin-bottom: 7px; color: var(--navy); font: 600 1.25rem/1.2 var(--v15-serif); }
.founder-method li p { margin: 0; color: var(--muted); font-size: .82rem; }

.contact-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 24px; border: 1px solid var(--line); background: var(--line); }
.contact-paths article { min-height: 230px; padding: clamp(25px, 4vw, 38px); background: #fff; }
.contact-paths article > span { color: var(--gold); font-size: .64rem; font-weight: 800; letter-spacing: .13em; }
.contact-paths h2 { margin: 42px 0 12px; color: var(--navy); font-size: clamp(1.45rem, 2.4vw, 2.15rem); }
.contact-paths p { margin: 0; color: var(--muted); font-size: .84rem; }
.venture-timeline time, .enterprise-standard__principles span,
.founder-method li:before, .contact-paths article > span { color: var(--v15-gold-text); }

.print-standard__credo { margin: 38px 0 0; padding: 8px 0 8px 27px; border-left: 3px solid var(--gold); }
.print-standard__credo p { margin: 0; color: var(--navy); font: 600 clamp(1.55rem,3vw,2.55rem)/1.28 var(--display-serif); }
.print-standard__credo span { display: block; margin-top: 12px; color: var(--muted); font: 800 .6rem/1.45 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }

/* Public work: documentary record */
.v15-page .promise-story__date { gap: .2em; letter-spacing: .015em; font-variant-numeric: lining-nums tabular-nums; }
.v15-page .promise-story__date span, .v15-page .promise-story__date strong { letter-spacing: .02em; }
.v15-page .policy-date strong { letter-spacing: .02em; font-variant-numeric: lining-nums tabular-nums; }
.promise-story__press { margin: 0 0 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: #06131d; box-shadow: 0 20px 48px rgba(0,0,0,.2); }
.promise-story__press img { display: block; width: 100%; height: auto; }
.promise-story__press figcaption { margin: 0; padding: 18px 21px 21px; color: #c8d3da; font-size: .73rem; line-height: 1.58; }
.promise-story__press figcaption strong { display: block; margin-bottom: 4px; color: #fff; font: 600 1rem/1.3 var(--v15-serif); }
.promise-story__oval > a { display: block; min-width: 0; }
.promise-story__oval figcaption { display: block; }
.promise-story__oval figcaption a { display: inline-block; margin-top: 11px; color: #fff; font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.witness-process { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr); gap: 0; align-items: stretch; margin: 36px 0; background: #071622; box-shadow: 0 18px 48px rgba(7,22,34,.14); }
.witness-process img { display: block; width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: center 38%; }
.witness-process figcaption { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px,5vw,54px); }
.witness-process figcaption .eyebrow { margin-bottom: 16px; }
.witness-process figcaption strong { color: #fff; font: 600 clamp(1.55rem,3vw,2.5rem)/1.12 var(--v15-serif); }
.witness-process figcaption span { display: block; margin-top: 18px; color: #b6c4cc; font-size: .78rem; line-height: 1.65; }
.archive-gallery { margin: 32px 0; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.archive-gallery summary { display: flex; gap: 24px; min-height: 105px; padding: 24px 26px; align-items: center; justify-content: space-between; color: var(--navy); cursor: pointer; list-style: none; }
.archive-gallery summary::-webkit-details-marker { display: none; }
.archive-gallery summary span,.archive-gallery summary strong,.archive-gallery summary small { display: block; }
.archive-gallery summary strong { font: 600 clamp(1.16rem,2vw,1.55rem)/1.15 var(--v15-serif); }
.archive-gallery summary small { margin-top: 7px; color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .075em; line-height: 1.45; text-transform: uppercase; }
.archive-gallery summary b { flex: 0 0 auto; color: var(--v15-gold-text); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.archive-gallery summary b::after { content: " +"; }
.archive-gallery[open] summary { border-bottom: 1px solid var(--line); }
.archive-gallery[open] summary b::after { content: " −"; }
.archive-gallery__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--line); }
.archive-gallery__grid figure { min-width: 0; margin: 0; background: #fff; }
.archive-gallery__grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #071622; }
.archive-gallery__grid figcaption { min-height: 74px; padding: 14px 15px 16px; }
.archive-gallery__grid figcaption strong,.archive-gallery__grid figcaption span { display: block; }
.archive-gallery__grid figcaption strong { color: var(--navy); font: 600 .93rem/1.25 var(--v15-serif); }
.archive-gallery__grid figcaption span { margin-top: 5px; color: var(--muted); font-size: .51rem; font-weight: 800; letter-spacing: .06em; line-height: 1.45; text-transform: uppercase; }
.civic-record { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr); gap: clamp(28px,6vw,74px); margin: 42px 0; padding: clamp(28px,5vw,55px); border-top: 4px solid var(--gold); background: #f1ece3; box-shadow: 0 18px 48px rgba(7,22,34,.09); }
.civic-record h3 { margin: 6px 0 0; color: var(--navy); font-size: clamp(1.65rem,3vw,2.6rem); line-height: 1.1; }
.civic-record > div:last-child > p { margin-top: 0; color: #4d5c65; font-size: .84rem; line-height: 1.7; }
.civic-record__links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 23px; }
.civic-record__links a { color: var(--navy); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-rollup { position: relative; overflow: hidden; isolation: isolate; scroll-margin-top: 145px; }
.campaign-rollup__screen { position: absolute; z-index: -1; top: -2.5rem; left: -1.5rem; width: 125%; color: rgba(255,255,255,.035); font: 700 clamp(4.5rem, 11vw, 10rem)/.87 var(--v15-serif); letter-spacing: -.035em; text-transform: uppercase; transform: rotate(-3deg); pointer-events: none; }
.campaign-rollup > .container { position: relative; z-index: 1; }
.campaign-rollup__grid .campaign-rollup__citizen { background: linear-gradient(145deg, rgba(126,96,42,.34), rgba(7,22,34,.94)); }
.campaign-rollup__grid .campaign-rollup__citizen strong { color: #fff; }
.campaign-rollup__grid .campaign-rollup__citizen h3 { color: var(--gold2); }
.campaign-rollup__result { display: grid; grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr); gap: clamp(30px,6vw,86px); align-items: center; margin-top: 18px; padding: clamp(25px,4vw,42px); border: 1px solid rgba(214,180,106,.42); background: linear-gradient(110deg,rgba(214,180,106,.15),rgba(255,255,255,.035)); }
.campaign-rollup__result p { margin: 0; color: #c8d4db; line-height: 1.65; }
.campaign-rollup__result p:first-child { display: grid; gap: 8px; }
.campaign-rollup__result span { color: var(--gold2); font: 800 .66rem/1 var(--v15-sans); letter-spacing: .16em; text-transform: uppercase; }
.campaign-rollup__result strong { color: #fff; font: 600 clamp(2rem,4vw,4.25rem)/.98 var(--v15-serif); letter-spacing: -.025em; text-transform: uppercase; }
.record-films { padding: var(--v15-space) 0; color: #fff; background: #071622; scroll-margin-top: 118px; }
.record-films__head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr); gap: clamp(38px, 7vw, 100px); align-items: end; margin-bottom: 48px; }
.record-films__head h2 { max-width: 760px; margin: 0; color: #fff; }
.record-films__head > p { margin: 0; color: #b9c7d0; }
.record-film { min-width: 0; background: #0d2433; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.record-film--lead { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); margin-bottom: 16px; }
.record-film__frame { position: relative; aspect-ratio: 16 / 9; background: #02070a; }
.record-film__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.record-film__copy { padding: clamp(25px, 4vw, 46px); }
.record-film__copy > span { display: block; color: var(--gold2); font-size: .6rem; font-weight: 800; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.record-film__copy h3 { margin: 24px 0 12px; color: #fff; font-size: clamp(1.35rem, 2.3vw, 2.15rem); line-height: 1.1; }
.record-film--lead .record-film__copy h3 { font-size: clamp(1.75rem, 3vw, 3rem); }
.record-film__copy p { margin: 0; color: #afbec7; font-size: .8rem; line-height: 1.65; }
.record-film__links { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 26px; }
.record-film__links a { color: #fff; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 4px; text-transform: uppercase; }
.record-films__channel { margin-top: 32px; }
.record-films__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.record-films__grid .record-film { display: flex; flex-direction: column; }
.record-films__grid .record-film__copy { display: flex; flex: 1; flex-direction: column; }
.record-films__grid .record-film__links { margin-top: auto; padding-top: 24px; }
.campaign-film-shelf { margin-top: clamp(46px,7vw,78px); padding-top: 32px; border-top: 1px solid rgba(255,255,255,.15); }
.campaign-film-shelf__head { display: grid; grid-template-columns: minmax(220px,.58fr) minmax(0,1.42fr); gap: clamp(24px,5vw,70px); align-items: end; margin-bottom: 24px; }
.campaign-film-shelf__head .eyebrow { margin: 0; }
.campaign-film-shelf__head h3 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(1.6rem,3vw,2.65rem); }
.campaign-film-shelf__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.campaign-film-shelf__grid > a { display: flex; min-width: 0; flex-direction: column; padding: 0 0 20px; color: #fff; background: #0d2433; text-decoration: none; overflow: hidden; transition: transform .22s ease,background .22s ease; }
.campaign-film-shelf__grid > a:hover { color: #fff; background: #133246; transform: translateY(-4px); }
.campaign-film-shelf__grid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; filter: saturate(.78) contrast(1.04); transition: filter .22s ease,transform .22s ease; }
.campaign-film-shelf__grid > a:hover img { filter: saturate(1) contrast(1.04); transform: scale(1.025); }
.campaign-film-shelf__grid span,.campaign-film-shelf__grid h4,.campaign-film-shelf__grid b { margin-inline: 18px; }
.campaign-film-shelf__grid span { margin-top: 18px; color: var(--gold2); font-size: .56rem; font-weight: 800; letter-spacing: .11em; line-height: 1.45; text-transform: uppercase; }
.campaign-film-shelf__grid h4 { margin-top: 10px; margin-bottom: 22px; color: #fff; font: 600 1.03rem/1.28 var(--v15-serif); }
.campaign-film-shelf__grid b { margin-top: auto; color: #dce5ea; font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }
.selected-portraits__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 12px; }
.selected-portraits__grid img { aspect-ratio: 4 / 5; }
.selected-portraits__grid figure.is-panorama { grid-column: span 2; }
.selected-portraits__grid figure.is-panorama img { aspect-ratio: 2.208 / 1; }
.selected-portraits__grid figure.is-landscape { grid-column: span 2; }
.selected-portraits__grid figure.is-landscape img { aspect-ratio: 5 / 4; object-fit: cover; }
.selected-portraits__grid figcaption { min-height: 82px; padding: 15px; }
.selected-portraits__grid figcaption strong { font-size: .94rem; }
.selected-portraits__grid figcaption span { font-size: .52rem; }
.portrait-dialogue { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 12px; padding: 12px; background: #071622; }
.portrait-dialogue figure { min-width: 0; margin: 0; background: #0d2433; }
.portrait-dialogue img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #02080c; }
.portrait-dialogue figcaption { min-height: 82px; padding: 15px; }
.portrait-dialogue figcaption strong,.portrait-dialogue figcaption span { display: block; }
.portrait-dialogue figcaption strong { color: #fff; font: 600 .94rem/1.25 var(--v15-serif); }
.portrait-dialogue figcaption span { margin-top: 6px; color: #9fb0ba; font-size: .52rem; font-weight: 800; letter-spacing: .055em; line-height: 1.5; text-transform: uppercase; }
.subject-link { color: inherit; text-decoration-color: rgba(255,255,255,.38); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.subject-link:hover, .subject-link:focus-visible { color: var(--gold2); text-decoration-color: currentColor; }
.subject-background-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 25px; }
.origin-turn { display: grid; grid-template-columns: minmax(230px,.72fr) minmax(0,1.28fr); gap: clamp(28px,5vw,62px); align-items: center; margin: 38px 0 8px; padding: clamp(22px,4vw,42px); background: #f0eadf; border-top: 4px solid var(--gold); box-shadow: 0 18px 48px rgba(7,22,34,.1); }
.first-studio-record { max-width: 640px; margin: 30px auto 34px; overflow: hidden; background: #071622; box-shadow: 0 18px 44px rgba(7,22,34,.16); }
.first-studio-record img { display: block; width: 100%; height: auto; }
.first-studio-record figcaption { display: grid; gap: 6px; margin: 0; padding: 17px 20px 19px; color: #aebbc3; font-size: .68rem; line-height: 1.55; }
.first-studio-record figcaption strong { color: #fff; font: 600 1rem/1.25 var(--v15-serif); }
.origin-turn figure { margin: 0; }
.origin-turn img { display: block; width: 100%; height: auto; }
.origin-turn figcaption { margin-top: 10px; color: #68747b; font-size: .62rem; line-height: 1.5; }
.origin-turn h3 { margin: 4px 0 16px; color: var(--navy); font-size: clamp(1.65rem,3vw,2.65rem); line-height: 1.08; }
.origin-turn p:not(.eyebrow) { color: #485861; font-size: .88rem; line-height: 1.7; }
.five-wars-record { position: relative; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(280px,.88fr); gap: clamp(36px,6vw,76px); overflow: hidden; margin: 54px 0 8px; padding: clamp(34px,6vw,68px); scroll-margin-top: 120px; color: #fff; background: linear-gradient(145deg,#071622,#12364a); box-shadow: 0 22px 55px rgba(7,22,34,.16); }
.five-wars-record:before { content: "FIVE WARS"; position: absolute; right: -1.5rem; bottom: -1.15rem; color: rgba(255,255,255,.035); font: 700 clamp(4rem,10vw,8rem)/.78 var(--v15-serif); letter-spacing: -.04em; white-space: nowrap; pointer-events: none; }
.five-wars-record__copy, .five-wars-record__timeline { position: relative; z-index: 1; }
.five-wars-record h3 { margin: 6px 0 21px; color: #fff; font-size: clamp(1.9rem,3.6vw,3.25rem); line-height: 1.05; }
.five-wars-record__copy > p:not(.eyebrow) { color: #c0ccd3; font-size: .86rem; line-height: 1.72; }
.five-wars-record__links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; }
.five-wars-record__links a { color: #fff; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-underline-offset: 4px; }
.five-wars-record__timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.17); }
.five-wars-record__timeline li { display: grid; grid-template-columns: 62px 1fr; gap: 5px 17px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.five-wars-record__timeline time { grid-row: 1 / span 2; color: var(--gold2); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.five-wars-record__timeline strong { color: #fff; font: 600 1.05rem/1.2 var(--v15-serif); }
.five-wars-record__timeline span { color: #9fb0ba; font-size: .68rem; line-height: 1.5; }
.five-wars-record__installation { position: relative; z-index: 1; display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0,1.45fr) minmax(210px,.55fr); margin: 4px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.15); background: rgba(0,0,0,.2); }
.five-wars-record__installation img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
.five-wars-record__installation figcaption { display: flex; align-items: center; margin: 0; padding: 26px; color: #b8c6ce; font-size: .68rem; line-height: 1.65; }
.five-wars-record__installation figcaption em { display: inline; }
.als-record { margin: 48px 0; overflow: hidden; scroll-margin-top: 120px; color: #fff; background: #071622; box-shadow: 0 22px 55px rgba(7,22,34,.16); }
.als-record__lead { display: grid; grid-template-columns: 1fr; }
.als-record figure { margin: 0; min-width: 0; }
.als-record__lead figure { display: flex; flex-direction: column; background: #0b2130; }
.als-record__lead figure img { display: block; width: 100%; height: auto; object-fit: cover; }
.als-record figcaption { margin: 0; padding: 16px 18px 19px; color: #aebdc6; font-size: .62rem; line-height: 1.55; }
.als-record__copy { align-self: center; padding: clamp(30px,5vw,54px); }
.als-record__copy--opening { max-width: 900px; margin: 0 auto; }
.als-record__copy h3 { margin: 7px 0 22px; color: #fff; font-size: clamp(1.9rem,3.5vw,3rem); line-height: 1.06; }
.als-record__copy > p:not(.eyebrow) { color: #c0ccd3; font-size: .82rem; line-height: 1.72; }
.als-record__copy > p a { color: #fff; text-underline-offset: 3px; }
.als-route { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; }
.als-route span { display: inline-flex; align-items: center; min-height: 29px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; color: #bac8d0; font-size: .5rem; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.als-record__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 28px 0 0; background: rgba(255,255,255,.15); }
.als-record__facts div { padding: 16px 12px; background: #0c2433; }
.als-record__facts dt { color: var(--gold2); font: 600 1.32rem/1 var(--v15-serif); }
.als-record__facts dd { margin: 7px 0 0; color: #aebdc6; font-size: .54rem; font-weight: 800; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.als-record__links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 25px; }
.als-record__links a { color: #fff; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-underline-offset: 4px; }
.als-portrait-record { padding: 0 clamp(21px,5vw,54px) clamp(34px,5vw,54px); }
.als-portrait-record__head { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 10px clamp(26px,5vw,60px); align-items: end; padding: 28px 0 24px; border-top: 1px solid rgba(255,255,255,.16); }
.als-portrait-record__head .eyebrow { grid-column: 1 / -1; margin: 0; }
.als-portrait-record__head h4 { margin: 0; color: #fff; font-size: clamp(1.5rem,3vw,2.25rem); line-height: 1.1; }
.als-portrait-record__head > p:last-child { margin: 0; color: #aebdc6; font-size: .72rem; line-height: 1.65; }
.als-portrait-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.15); }
.als-portrait-grid figure { background: #0c2433; }
.als-portrait-grid img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.als-portrait-grid figcaption strong, .als-portrait-grid figcaption span { display: block; }
.als-portrait-grid figcaption strong { color: #fff; font: 600 .96rem/1.3 var(--v15-serif); }
.als-portrait-grid figcaption strong a { color: inherit; text-underline-offset: 3px; }
.als-portrait-grid figcaption span { margin-top: 6px; color: #9fb0ba; font-size: .53rem; font-weight: 800; letter-spacing: .055em; line-height: 1.5; text-transform: uppercase; }
.als-record__media { display: grid; grid-template-columns: 1fr; gap: 1px; padding-top: 1px; background: rgba(255,255,255,.15); }
.als-record__lede { max-width: 920px; color: #e5ebee; font-size: clamp(1rem,1.4vw,1.18rem); line-height: 1.7; }
.campaign-role-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 34px 0; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.16); }
.campaign-role-strip span { display: flex; min-height: 82px; padding: 20px; align-items: flex-end; color: #fff; background: rgba(8,29,42,.92); font-size: .65rem; font-weight: 800; letter-spacing: .095em; line-height: 1.35; text-transform: uppercase; }
.archive-gallery--dark { margin-bottom: 0; border-color: rgba(255,255,255,.18); background: #0c2433; }
.archive-gallery--dark summary { color: #fff; }
.archive-gallery--dark summary small { color: #9fb0ba; }
.archive-gallery--dark summary b { color: var(--gold2); }
.archive-gallery--dark[open] summary { border-bottom-color: rgba(255,255,255,.18); }
.archive-gallery--dark .archive-gallery__grid { background: rgba(255,255,255,.16); }
.archive-gallery--dark .archive-gallery__grid figure { background: #0c2433; }
.archive-gallery--dark .archive-gallery__grid figcaption strong { color: #fff; }
.archive-gallery--dark .archive-gallery__grid figcaption span { color: #9fb0ba; }
.international-record { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(270px,.8fr); gap: clamp(28px,5vw,62px); margin: 34px 0; padding: clamp(26px,4vw,42px); border-top: 4px solid var(--gold); background: #f0eadf; }
.international-record h3 { margin: 5px 0 15px; color: var(--navy); font-size: clamp(1.45rem,2.8vw,2.3rem); line-height: 1.1; }
.international-record > div > p:last-child { margin: 0; color: #506069; font-size: .78rem; line-height: 1.68; }
.international-record ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; align-self: stretch; margin: 0; padding: 1px; list-style: none; background: rgba(16,41,61,.14); }
.international-record li { display: flex; min-height: 62px; gap: 9px; padding: 12px 14px; align-items: center; color: var(--navy); background: rgba(251,248,241,.9); font-size: .59rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.international-record li span { font-size: 1.05rem; }

/* Biography: feature documentary and verified viewing paths */
.film-record { display: grid; grid-template-columns: minmax(230px,.72fr) minmax(0,1.28fr); gap: clamp(28px,5vw,56px); align-items: center; margin: 34px 0 1px; padding: clamp(25px,4vw,42px); color: #fff; background: linear-gradient(138deg,#071622,#12364a); }
.film-record__poster { width: 100%; margin: 0; }
.film-record__poster img { display: block; width: 100%; height: auto; box-shadow: 0 18px 50px rgba(0,0,0,.32); }
.film-record__poster figcaption { margin-top: 12px; color: #9fb0ba; font-size: .58rem; font-weight: 750; letter-spacing: .055em; line-height: 1.5; text-transform: uppercase; }
.film-record__copy h3 { margin: 7px 0 22px; color: #fff; font-size: clamp(2rem,4vw,3.4rem); }
.film-record__copy > p:not(.eyebrow) { color: #c7d1d7; }
.film-record__copy .lede { color: #fff; font: clamp(1.08rem,1.8vw,1.38rem)/1.5 var(--v15-serif); }
.film-record__availability { margin-top: 24px; font-size: .82rem; }
.film-viewing { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 18px; background: rgba(255,255,255,.2); }
.film-viewing a { --visual-card-image: url("assets/img/web/pershings-last-patriot-poster-w800.jpg"); --visual-card-position: center; position: relative; isolation: isolate; display: flex; min-height: 124px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 17px 18px; color: #fff; text-decoration: none; background: #0d2939; }
.film-viewing a::before,.film-viewing a::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; opacity: 0; transition: opacity .32s ease,transform .55s ease; }
.film-viewing a::before { background: var(--visual-card-image) var(--visual-card-position)/cover no-repeat; filter: saturate(.84) contrast(1.04); transform: scale(1.055); }
.film-viewing a::after { background: linear-gradient(145deg,rgba(5,18,28,.48),rgba(5,18,28,.92) 78%); }
.film-viewing a > * { position: relative; z-index: 1; }
.film-viewing a:is(:hover,:focus-visible)::before { opacity: 1; transform: scale(1); }
.film-viewing a:is(:hover,:focus-visible)::after { opacity: 1; }
.film-viewing a:nth-child(2),.film-viewing a:nth-child(4) { --visual-card-image: url("assets/img/web/hero-flag-w800.jpg"); --visual-card-position: center 42%; }
.film-viewing span,.film-viewing strong,.film-viewing small { display: block; }
.film-viewing span { color: #d8b472; font-size: .53rem; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.film-viewing strong { margin: 16px 0 10px; color: #fff; font: 600 1.08rem/1.15 var(--v15-serif); }
.film-viewing small { color: #b8c6ce; font-size: .53rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.film-record__sources { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 20px; }
.film-record__sources a { color: #d8e1e6; font-size: .61rem; font-weight: 800; letter-spacing: .055em; text-underline-offset: 4px; text-transform: uppercase; }
.film-record__barn { position: relative; margin: 0 0 34px; overflow: hidden; color: #fff; background: #071622; }
.film-record__barn img { display: block; width: 100%; aspect-ratio: 2.7/1; object-fit: cover; object-position: center 42%; filter: saturate(.9) contrast(1.04); }
.film-record__barn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,15,23,.78),transparent 55%,rgba(4,15,23,.2)); pointer-events: none; }
.film-record__barn figcaption { position: absolute; z-index: 1; bottom: 0; left: 0; max-width: 520px; padding: 22px 25px; }
.film-record__barn figcaption strong,.film-record__barn figcaption span { display: block; }
.film-record__barn figcaption strong { font: 600 1.05rem/1.2 var(--v15-serif); }
.film-record__barn figcaption span { margin-top: 5px; color: #c8d2d8; font-size: .59rem; line-height: 1.5; }
.film-record__barn-sequence { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 12px; margin: 0 0 34px; }
.film-record__barn-sequence .film-record__barn { min-width: 0; margin: 0; }
.film-record__barn-sequence .film-record__barn img { height: 100%; min-height: 390px; aspect-ratio: auto; object-position: center; }
.film-record__barn-sequence .film-record__barn--production img { object-position: 16% 24%; transform: scale(1.22); transform-origin: 14% 16%; }
.film-record__barn-sequence .film-record__barn--production::after { background: linear-gradient(0deg,rgba(4,15,23,.9),transparent 64%); }
.film-record__barn-sequence .film-record__barn--production figcaption { padding: 18px 19px; }
.film-record__screening-link { display: block; color: inherit; text-decoration: none; }
.film-record__screening img { aspect-ratio: 16 / 9; object-position: center; filter: saturate(.94) brightness(1.28) contrast(.9); }
.film-record__screening::before { content: ""; position: absolute; z-index: 1; inset: 20% 0 0; background: radial-gradient(ellipse at 50% 82%,rgba(255,255,255,.2),rgba(255,255,255,.08) 45%,transparent 78%); mix-blend-mode: screen; pointer-events: none; }
.film-record__screening::after { background: linear-gradient(0deg,rgba(4,15,23,.42),transparent 42%); }
.film-record__screening figcaption { z-index: 2; text-shadow: 0 2px 14px rgba(0,0,0,.9); }
.film-record__screening figcaption a { color: #fff; font-weight: 800; text-decoration-color: var(--gold2); }
.film-platform-intro { margin: 30px 0 0; color: var(--muted); font-size: .67rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.film-viewing--compact { margin-top: 12px; }
.film-viewing--compact a { min-height: 108px; }

/* Biography: faith as a distinct through-line */
.page-hero--faith::before { content: ""; position: absolute; z-index: -2; inset: 0; background: url("assets/img/web/v15-new-gracanica-iconostasis-light-w1800.jpg") center 44%/cover no-repeat; filter: saturate(.62) contrast(1.03); }
.page-hero--faith::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(4,16,25,.98) 0%,rgba(4,16,25,.86) 55%,rgba(4,16,25,.56) 100%); }
.page-hero--faith .container { position: relative; z-index: 1; }
.page-hero--faith h1 { max-width: 760px; }
.faith-index { padding: 1px 0; background: #071622; }
.faith-index__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; padding-block: 1px; background: rgba(255,255,255,.18); }
.faith-index a { --faith-index-image: none; position: relative; isolation: isolate; display: flex; min-height: 172px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 23px; color: #fff; text-decoration: none; background: #0d2939; }
.faith-index a::before,.faith-index a::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; transition: opacity .35s ease,transform .55s ease; }
.faith-index a::before { background: var(--faith-index-image) center/cover no-repeat; filter: saturate(.72) contrast(1.04); opacity: .3; transform: scale(1.035); }
.faith-index a::after { background: linear-gradient(145deg,rgba(5,19,29,.5),rgba(5,19,29,.95) 82%); }
.faith-index a:is(:hover,:focus-visible)::before { opacity: .72; transform: scale(1); }
.faith-index span { color: #d0a45f; font-size: .54rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.faith-index strong { max-width: 12ch; font: 600 clamp(1.08rem,1.7vw,1.35rem)/1.16 var(--v15-serif); }
.faith-page { padding-top: clamp(54px,8vw,94px); }
.faith-record { padding: clamp(32px,4.5vw,54px); color: #fff; background: linear-gradient(145deg,#071622,#12364a); }
.faith-record--page { padding: clamp(32px,5vw,68px); }
.faith-record--page .faith-record__grid { grid-template-columns: minmax(250px,.48fr) minmax(0,1.52fr); }
.faith-record__grid { display: grid; grid-template-columns: minmax(230px,.62fr) minmax(0,1.38fr); gap: clamp(32px,5vw,58px); align-items: start; }
.faith-record figure { margin: 0; }
.faith-record figure > a { display: block; overflow: hidden; background: #030b10; }
.faith-record figure img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; object-position: center; transition: transform .55s ease, filter .55s ease; }
.faith-record figure > a:hover img { transform: scale(1.018); filter: contrast(1.03); }
.faith-record figcaption { margin-top: 13px; color: #9cadb7; font-size: .61rem; line-height: 1.55; }
.faith-record figcaption a { color: #d8e1e6; text-decoration-color: rgba(255,255,255,.34); text-underline-offset: 3px; }
.faith-record__copy h2 { margin: 8px 0 22px; color: #fff; }
.faith-record__copy > p:not(.eyebrow) { color: #c3ced5; }
.faith-record__copy .lede { color: #fff; font: clamp(1.12rem,1.8vw,1.4rem)/1.5 var(--v15-serif); }
.faith-record__thesis { margin: 27px 0; padding: 5px 0 5px 22px; border-left: 2px solid #c79a51; }
.faith-record__thesis p { margin: 0; color: #fff; font: italic 600 clamp(1.2rem,2.1vw,1.58rem)/1.3 var(--v15-serif); }
.faith-record__thesis cite { display: block; margin-top: 11px; color: #9cadb7; font-size: .54rem; font-style: normal; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.faith-conversation { margin-top: clamp(42px,6vw,72px); padding-top: clamp(31px,4vw,46px); border-top: 1px solid rgba(255,255,255,.2); }
.faith-conversation__head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(220px,.9fr); gap: 28px; align-items: end; margin-bottom: 28px; }
.faith-conversation__head h3 { margin: 7px 0 0; color: #fff; font-size: clamp(2rem,4vw,3.25rem); line-height: 1.04; }
.faith-conversation__head > p { margin: 0; color: #aebdc6; font-size: .69rem; line-height: 1.7; }
.faith-conversation__chapters { border: 1px solid rgba(255,255,255,.16); }
.faith-chapter { display: grid; grid-template-columns: minmax(145px,.38fr) minmax(0,1.62fr); gap: clamp(24px,4vw,46px); padding: clamp(25px,4vw,38px); scroll-margin-top: 112px; background: rgba(5,20,30,.36); }
.faith-chapter + .faith-chapter { border-top: 1px solid rgba(255,255,255,.16); }
.faith-chapter:nth-child(even) { background: rgba(21,57,76,.42); }
.faith-chapter--stewardship { background: linear-gradient(135deg,rgba(9,34,49,.92),rgba(25,67,86,.66)); }
.faith-chapter > header { align-self: start; }
.faith-chapter__number { display: block; color: #c89b53; font: 700 clamp(1.65rem,3vw,2.3rem)/1 var(--v15-serif); }
.faith-chapter__label { margin: 15px 0 7px; color: #c89b53; font-size: .52rem; font-weight: 850; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.faith-chapter h3,.faith-chapter h4 { margin: 0; color: #fff; font-size: clamp(1.2rem,2.1vw,1.65rem); line-height: 1.16; }
.faith-qa { margin: 0; }
.faith-qa__item { display: grid; grid-template-columns: minmax(140px,.52fr) minmax(0,1.48fr); gap: clamp(17px,3vw,29px); padding: 0 0 22px; }
.faith-qa__item + .faith-qa__item { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); }
.faith-qa__item:last-child { padding-bottom: 0; }
.faith-qa dt { color: #fff; font: 600 .96rem/1.36 var(--v15-serif); }
.faith-qa dd { margin: 0; color: #bdcad2; font-size: .73rem; line-height: 1.72; }
.faith-chapter__evidence { grid-column: 1 / -1; width: min(100%,760px); justify-self: center; margin: clamp(12px,2.4vw,24px) 0 0; }
.faith-chapter__evidence-media { display: grid; grid-template-columns: minmax(0,2.35fr) minmax(170px,.65fr); gap: clamp(12px,2vw,22px); align-items: end; }
.faith-chapter__evidence img { display: block; width: 100%; height: auto; background: #030b10; }
.faith-chapter__evidence .faith-chapter__book { box-shadow: 0 18px 42px rgba(0,0,0,.32); }
.faith-chapter__evidence figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; margin-top: 12px; color: #9cadb7; font-size: .6rem; line-height: 1.55; }
.faith-chapter__evidence figcaption strong { color: #fff; font: italic 600 .92rem/1.35 var(--v15-serif); }
.faith-chapter__evidence figcaption span { max-width: 760px; }
.faith-record__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 27px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.faith-record__links .v15-arrow-link { color: #fff; }
.faith-record__links a { min-height: 44px; }
.faith-coda { display: grid; grid-template-columns: minmax(170px,.42fr) minmax(0,1.58fr); gap: clamp(25px,5vw,60px); margin-top: clamp(36px,5vw,58px); padding: clamp(27px,4vw,44px); color: #071622; background: #f0e7d7; }
.faith-coda > .eyebrow { grid-column: 1 / -1; margin: 0; }
.faith-coda h3 { margin: 0; color: #071622; font-size: clamp(1.65rem,3vw,2.45rem); }
.faith-coda blockquote { margin: 0; padding-left: clamp(20px,3vw,35px); border-left: 2px solid #b78740; }
.faith-coda blockquote p { margin: 0; color: #071622; font: italic 600 clamp(1.25rem,2.3vw,1.75rem)/1.35 var(--v15-serif); }
.faith-coda blockquote cite { display: block; margin-top: 17px; color: #5b6870; font-size: .55rem; font-style: normal; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
@media (max-width: 760px) {
  .film-record { grid-template-columns: 1fr; }
  .film-record__poster { width: min(72vw,360px); margin-inline: auto; }
  .film-record__barn-sequence { grid-template-columns: 1fr; }
  .film-record__barn-sequence .film-record__barn img { height: auto; min-height: 0; aspect-ratio: 3/2; }
  .film-record__barn img { aspect-ratio: 1.75/1; }
  .faith-photo-story__intro { grid-template-columns: 1fr; align-items: start; }
  .faith-photo-story__gallery { grid-template-columns: 1fr; gap: 38px; }
  .faith-photo-story__gallery .faith-photo-story__wide,
  .faith-photo-story__gallery .faith-photo-story__portrait,
  .faith-photo-story__gallery .faith-photo-story__compact,
  .faith-photo-story__gallery .faith-photo-story__compact + .faith-photo-story__wide,
  .faith-photo-story__gallery .faith-photo-story__panorama { grid-column: 1; }
  .faith-photo-story__gallery .faith-photo-story__portrait { width: min(100%,480px); justify-self: center; }
  .page-hero--faith::after { background: linear-gradient(90deg,rgba(4,16,25,.95),rgba(4,16,25,.72)); }
  .faith-index__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .faith-index a { min-height: 140px; padding: 18px; }
  .faith-page { padding-top: 42px; }
  .faith-record { padding: 28px 22px; }
  .faith-record__grid,.faith-record--page .faith-record__grid { grid-template-columns: 1fr; }
  .faith-record figure { width: min(100%,420px); margin-inline: auto; }
  .faith-conversation__head { grid-template-columns: 1fr; align-items: start; }
  .faith-conversation__head h3 { max-width: 10ch; }
  .faith-chapter { grid-template-columns: 1fr; gap: 22px; padding: 25px 21px; }
  .faith-chapter { scroll-margin-top: 82px; }
  .faith-chapter > header { display: grid; grid-template-columns: auto 1fr; gap: 5px 16px; align-items: end; }
  .faith-chapter__number { grid-row: 1 / span 2; }
  .faith-chapter__label { margin: 0; align-self: end; }
  .faith-chapter h3,.faith-chapter h4 { grid-column: 2; }
  .faith-qa__item { grid-template-columns: 1fr; gap: 8px; }
  .faith-qa dd { font-size: .78rem; line-height: 1.7; }
  .faith-chapter__evidence-media { grid-template-columns: 1fr; }
  .faith-chapter__evidence .faith-chapter__book { width: min(72vw,380px); justify-self: center; }
  .faith-record__links { display: grid; gap: 4px; }
  .faith-coda { grid-template-columns: 1fr; gap: 19px; }
  .faith-coda > .eyebrow { grid-column: 1; }
  .faith-coda blockquote { padding-left: 18px; }
}
@media (max-width: 480px) {
  .faith-index__grid { grid-template-columns: 1fr; }
  .faith-index a { min-height: 122px; }
}
.als-record__film, .als-record__media figure { min-width: 0; background: #0c2433; }
.als-record__frame { position: relative; aspect-ratio: 16 / 9; background: #02070a; }
.als-record__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.als-record__film > p { margin: 0; padding: 17px 18px 20px; }
.als-record__film strong, .als-record__film span { display: block; }
.als-record__film strong { color: #fff; font: 600 1rem/1.3 var(--v15-serif); }
.als-record__film span { margin-top: 5px; color: #9fb0ba; font-size: .55rem; font-weight: 800; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.als-record__media figure img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 42%; }
.honors-record { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 34px 0 22px; border: 1px solid var(--line); background: var(--line); }
.honors-record a, .honors-record article { min-height: 190px; padding: 26px; color: var(--navy); text-decoration: none; background: var(--paper); }
.honors-record a:hover { background: #fff; }
.honors-record time, .honors-record strong, .honors-record span { display: block; }
.honors-record time { color: var(--gold); font-size: .62rem; font-weight: 800; letter-spacing: .13em; }
.honors-record strong { margin-top: 32px; font: 600 1.22rem/1.2 var(--v15-serif); }
.honors-record span { margin-top: 9px; color: var(--muted); font-size: .66rem; font-weight: 750; letter-spacing: .055em; line-height: 1.5; text-transform: uppercase; }
.honors-record__feature { grid-column: 1 / -1; min-height: 0 !important; background: var(--navy) !important; color: #fff !important; }
.honors-record__feature time { color: #d8b472; }
.honors-record__degrees { display: grid; grid-template-columns: 1fr auto 1.35fr; gap: 26px; align-items: center; margin-top: 25px; }
.honors-record__degrees p { margin: 0; }
.honors-record__degrees b { display: block; color: #d8b472; font: 800 2.35rem/.9 var(--v15-sans); letter-spacing: -.045em; }
.honors-record__degrees strong { margin-top: 12px; color: #fff; }
.honors-record__degrees span { color: #aebbc3; }
.honors-record__degrees i { color: #d8b472; font: 300 2.2rem/1 var(--v15-serif); }
.honors-record .honors-record__milestone { display: flex; gap: 18px 34px; margin: 25px 0 0; padding-top: 22px; align-items: baseline; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.16); }
.honors-record .honors-record__milestone strong { margin: 0; color: var(--gold2); font: 600 clamp(1.2rem,2.3vw,1.7rem)/1.1 var(--v15-serif); }
.honors-record .honors-record__milestone span { max-width: 310px; margin: 0; color: #afbec7; font-size: .57rem; font-weight: 800; letter-spacing: .075em; line-height: 1.55; text-transform: uppercase; }
.honors-record__note { color: var(--muted); font-size: .68rem; line-height: 1.6; }
.portrait-relationship { display: grid; grid-template-columns: minmax(140px,.38fr) minmax(0,1.62fr); gap: 8px clamp(24px,5vw,58px); margin-top: 18px; padding: 24px 26px; border-left: 4px solid var(--gold); background: #f2eee6; }
.portrait-relationship .eyebrow { grid-row: 1 / span 2; margin: 3px 0 0; }
.portrait-relationship h4 { margin: 0; color: var(--navy); font: 700 1.3rem/1.25 var(--display-serif); }
.portrait-relationship p:last-child { margin: 3px 0 0; color: #53616a; font-size: .82rem; line-height: 1.65; }
.origin-turn .v15-arrow-link + .v15-arrow-link { margin-top: 13px; }

@media (max-width: 1050px) {
  .v15-thesis__accomplishments { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v15-proof__grid { grid-template-columns: repeat(3, 1fr); }
  .v15-proof__grid a:nth-child(4) { border-left: 0; }
  .v15-frame-story { grid-template-columns: 1.25fr .75fr; }
  .venture-timeline { grid-template-columns: repeat(2, 1fr); }
  .studio-evolution__rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .site-header--v15 .nav, .v15-page .site-header .nav { min-height: 82px; }
  .v15-subnav { top: 82px; }
  .v15-hero { min-height: calc(100svh - 82px); }
  .v15-hero__inner { padding-bottom: 72px; }
  .v15-thesis__grid, .v15-section-head, .v15-enterprise-preview__grid, .v15-promise__grid, .v15-biography-whisper__grid, .photo-intro__grid, .photo-chapter__grid, .enterprise-story__intro, .enterprise-case__grid, .enterprise-standard__grid, .legacy-story__grid, .legacy-scale__inner, .legacy-facility__grid, .legacy-media__head, .legacy-media__feature, .founder-method__grid, .record-films__head, .record-film--lead, .action-index__head, .action-index__credo, .international-record { grid-template-columns: 1fr; }
  .action-index__credo cite { max-width: none; padding-bottom: 0; text-align: left; }
  .action-index__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .action-index__grid a { min-height: 235px; }
  .v15-thesis__accomplishments { grid-template-columns: 1fr; }
  .v15-accomplishment { min-height: 245px; }
  .v15-portals { grid-template-columns: 1fr; }
  .v15-portal { min-height: 68svh; }
  .v15-portal--public img { object-position: center 22%; }
  .v15-mosaic__item--kissinger, .v15-mosaic__item--susannah, .v15-mosaic__item--blackfeet, .v15-mosaic__item--airforce, .v15-mosaic__item--desert { grid-column: span 6; }
  .v15-mosaic__item--humanity { grid-column: span 6; min-height: 0; }
  .v15-frame-story { grid-template-columns: 1fr; }
  .v15-frame-story__image { min-height: 0; }
  .v15-frame-story__copy { grid-template-columns: 1fr; max-width: none; }
  .v15-frame-story__copy .eyebrow, .v15-frame-story__copy h2, .v15-frame-story__copy > p:not(.eyebrow), .v15-frame-story__copy .v15-arrow-link { grid-column: auto; grid-row: auto; }
  .v15-recognition__head { grid-template-columns: 1fr; align-items: start; }
  .v15-outlets { grid-template-columns: repeat(3, 1fr); }
  .outlet-grid, .campaign-coverage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ap-ledger__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v15-footer { grid-template-columns: 1fr; text-align: center; }
  .v15-footer .footer-brand { justify-content: center; }
  .portfolio-card, .portfolio-card.is-wide { grid-column: span 6; }
  .portfolio-card.is-wide .portfolio-card__media { aspect-ratio: 16 / 9; }
  .lightbox__inner { grid-template-columns: 1fr; overflow-y: auto; }
  .lightbox__image-wrap { min-height: 55vh; }
  .lightbox__image { max-height: 68vh; }
  .lightbox__copy { padding: 25px; }
  .enterprise-teaching__inner { grid-template-columns: 1fr; }
  .enterprise-standard__portrait { grid-template-columns: 1fr; }
  .enterprise-standard__portrait-image { min-height: 0; }
  .enterprise-standard__portrait-image img { height: auto; }
  .studio-evolution__heading { grid-template-columns: 1fr; }
  .studio-evolution__heading .eyebrow { grid-column: auto; margin-bottom: 0; }
  .enterprise-teaching figure { max-width: 680px; }
  .legacy-media__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-films__grid { grid-template-columns: 1fr; }
  .campaign-film-shelf__head { grid-template-columns: 1fr; }
  .campaign-film-shelf__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .selected-portraits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .witness-process, .civic-record, .five-wars-record, .five-wars-record__installation, .als-record__lead { grid-template-columns: 1fr; }
  .archive-gallery__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .witness-process img { width: min(100%, 560px); height: auto; min-height: 0; }
  .five-wars-record__installation img, .als-record__lead figure img { height: auto; min-height: 0; }
}

@media (max-width: 620px) {
  .campaign-film-shelf__grid { grid-template-columns: 1fr; }
  .film-viewing { grid-template-columns: 1fr; }
  .film-viewing a { min-height: 112px; }
  h1 { font-size: clamp(2.55rem, 11.2vw, 3.7rem); line-height: 1.04; }
  h2 { font-size: clamp(1.9rem, 8.2vw, 2.75rem); }
  .site-header--v15 .nav, .v15-page .site-header .nav { width: min(100% - 28px, 1320px); min-height: 68px; }
  .v15-hero { min-height: calc(100svh - 68px); }
  .v15-hero__image { object-position: 57% center; }
  .v15-hero__shade { background: linear-gradient(0deg, rgba(3,12,19,.92), rgba(3,12,19,.3) 75%), linear-gradient(90deg, rgba(3,12,19,.55), transparent); }
  .v15-hero__inner { padding: 68px 0 58px; }
  .v15-hero__inner h1 { max-width: 340px; }
  .v15-hero__headline-primary { max-width: 285px; }
  .v15-hero__headline-resolve { max-width: 340px; font-size: 1em; line-height: 1.04; }
  .v15-hero__inner > p:not(.eyebrow) { margin-bottom: 23px; font-size: .92rem; line-height: 1.55; }
  .v15-hero .actions { flex-wrap: nowrap; gap: 8px; }
  .v15-hero .btn { min-height: 43px; padding: 9px 11px; font-size: .63rem; letter-spacing: .045em; }
  .v15-hero__credit { right: 14px; bottom: 11px; left: 14px; color: rgba(255,255,255,.68); font-size: .46rem; line-height: 1.4; letter-spacing: .065em; text-align: right; writing-mode: horizontal-tb; }
  .v15-thesis__grid { gap: 20px; }
  .v15-thesis__grid h2 { font-size: clamp(2.35rem, 11.2vw, 3.45rem); }
  .v15-thesis__accomplishments { margin-top: 38px; }
  .v15-accomplishment { min-height: 220px; padding: 24px 21px; }
  .v15-accomplishment__copy { min-height: 172px; }
  .v15-portal { min-height: 72svh; }
  .v15-portal--photography img { object-position: 52% center; }
  .v15-portal--enterprise img { object-position: 60% center; }
  .v15-proof__grid { grid-template-columns: 1fr 1fr; }
  .v15-proof__grid a { min-height: 125px; padding: 22px 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .v15-proof__grid a:nth-child(odd) { border-left: 0; }
  .v15-proof__grid strong { font-size: 1.55rem; }
  .v15-mosaic { grid-template-columns: 1fr; gap: 10px; }
  .v15-mosaic__item, .v15-mosaic__item--kissinger, .v15-mosaic__item--susannah, .v15-mosaic__item--blackfeet, .v15-mosaic__item--airforce, .v15-mosaic__item--desert, .v15-mosaic__item--humanity { grid-column: 1; min-height: 0; aspect-ratio: 4 / 3; }
  .v15-mosaic__item--kissinger, .v15-mosaic__item--susannah { aspect-ratio: 1.9 / 1; }
  .v15-mosaic__item--humanity { aspect-ratio: 4 / 5; }
  .v15-enterprise-steps li { grid-template-columns: 44px 1fr; }
  .v15-frame-story__image { min-height: 0; }
  .v15-frame-story__copy { width: min(100% - 28px, 1180px); padding: 55px 0 70px; }
  .v15-promise__outcomes { grid-template-columns: 1fr; }
  .v15-promise__outcomes span { min-height: auto; }
  .v15-outlets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v15-outlets a { min-height: 108px; }
  .outlet-grid, .campaign-coverage__grid { grid-template-columns: 1fr; }
  .press-impact { grid-template-columns: 1fr; }
  .press-impact div { min-height: 0; }
  .press-impact div:not(:last-child):after { content: "↓"; top: auto; right: 22px; bottom: -11px; }
  .outlet-grid__reference--search { grid-column: auto; }
  .campaign-record--lead { grid-column: auto; }
  .ap-ledger summary { grid-template-columns: 58px 1fr; gap: 14px; padding: 18px; }
  .ap-ledger summary > b { grid-column: 2; }
  .ap-ledger__grid { grid-template-columns: 1fr; }
  .v15-final { min-height: 690px; }
  .v15-final > img { object-position: 62% center; }
  .v15-final__shade { background: linear-gradient(0deg, rgba(3,12,19,.94), rgba(3,12,19,.36)); }
  .v15-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
  .v15-subnav { top: 68px; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-card, .portfolio-card.is-wide { grid-column: 1; }
  .portfolio-card.is-wide .portfolio-card__media { aspect-ratio: 16 / 9; }
  .portfolio-card__media { aspect-ratio: 4 / 5; }
  .v15-page-hero { min-height: 680px; }
  .v15-page-hero__copy { padding: 82px 0 66px; }
  .v15-page-hero__credit { display: none; }
  .venture-timeline, .enterprise-case__facts, .legacy-scale__facts { grid-template-columns: 1fr; }
  .studio-evolution { margin-right: -14px; margin-left: -14px; padding: 26px 14px 29px; }
  .studio-evolution__heading { padding: 0 7px; }
  .studio-evolution__rail { display: flex; gap: 10px; overflow-x: auto; padding: 0 7px 13px; background: transparent; scroll-snap-type: x mandatory; scrollbar-color: rgba(255,255,255,.32) transparent; }
  .studio-stage { flex: 0 0 min(78vw,310px); scroll-snap-align: start; }
  .studio-stage figcaption { min-height: 178px; }
  .legacy-media__grid { grid-template-columns: 1fr; }
  .legacy-media-card { min-height: 275px; }
  .selected-portraits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .selected-portraits__grid figure { display: block; }
  .selected-portraits__grid img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .selected-portraits__grid figure.is-panorama img { aspect-ratio: 2.208 / 1; }
  .selected-portraits__grid figure.is-landscape img { aspect-ratio: 5 / 4; }
  .portrait-dialogue { grid-template-columns: 1fr; padding: 9px; }
  .origin-turn { grid-template-columns: 1fr; padding: 20px; }
  .origin-turn figure { max-width: 420px; }
  .five-wars-record { padding: 27px 21px; }
  .five-wars-record__installation figcaption { padding: 19px; }
  .als-record__media, .als-record__facts, .als-portrait-grid, .als-portrait-record__head { grid-template-columns: 1fr; }
  .campaign-role-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-gallery summary { align-items: flex-start; flex-direction: column; }
  .archive-gallery__grid { grid-template-columns: 1fr; }
  .als-portrait-record__head .eyebrow { grid-column: auto; }
  .als-record__copy { padding: 29px 21px 34px; }
  .als-portrait-record { padding-right: 21px; padding-left: 21px; }
  .honors-record { grid-template-columns: 1fr; }
  .honors-record a, .honors-record article { min-height: 165px; }
  .honors-record__degrees { grid-template-columns: 1fr; gap: 18px; }
  .honors-record__degrees i { height: 20px; font-size: 0; transform: none; }
  .honors-record__degrees i::before { content: "↓"; font: 300 2.2rem/20px var(--v15-serif); }
  .honors-record .honors-record__milestone { align-items: flex-start; flex-direction: column; }
  .portrait-relationship { grid-template-columns: 1fr; }
  .portrait-relationship .eyebrow { grid-row: auto; }
  .contact-paths { grid-template-columns: 1fr; }
  .action-index__grid { grid-template-columns: 1fr; }
  .action-index__grid a { min-height: 188px; }
  .action-index__grid strong { margin-top: 28px; }
}

@media (hover: none) {
  .v15-accomplishment > img { opacity: .48; filter: grayscale(.3) contrast(1.06); transform: none; }
  .v15-accomplishment__veil { opacity: .88; }
  .v15-accomplishment { color: #fff; }
  .v15-accomplishment .v15-accomplishment__copy em { color: #e4e9ec; }
  .v15-accomplishment .v15-accomplishment__copy b { color: var(--gold2); }
}

@media (prefers-reduced-motion: reduce) {
  .v15-portal img, .v15-mosaic__item img, .portfolio-card__media img, .studio-stage__media img, .v15-arrow-link span, .v15-hero__identity > span, .v15-headline-switch > span, .v15-accomplishment > img, .v15-accomplishment__veil { transition: none; }
}

@media (max-width: 620px) {
  .campaign-rollup__result { grid-template-columns: 1fr; gap: 20px; }
}

.selected-portraits__grid figure.is-mccaffrey img { aspect-ratio: 3200 / 1644; }
