/* Detail, industry and location compositions in the shared Viewfinder system. */
.vf-details .detail-intro { padding-bottom:54px; }
.vf-details .detail-intro .display { max-width:15ch; font-size:clamp(2.8rem,5.4vw,5.5rem); line-height:1.02; }
.vf-details .detail-intro .lead { max-width:44ch; }
.vf-details .detail-intro .actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.vf-details .detail-intro .actions .link { font-size:15px; }
.vf-details .detail-intro .vf-split { grid-template-columns:1.1fr 1fr; gap:clamp(28px,5vw,80px); }
.vf-details .detail-intro figure img { height:auto; aspect-ratio:4/3; }
.vf-details .detail-type-intro .display { max-width:18ch; }
.vf-details .detail-type-intro .lead { max-width:52ch; }
.vf-details .detail-topic { margin-bottom:22px; font-size:15px; color:var(--slate); }
.vf-details .detail-note { margin-top:18px; font-size:14px; color:var(--slate); max-width:46ch; }
.vf-details .detail-brief { padding:36px; background:var(--white); border-radius:var(--radius); }
.vf-details .detail-brief p { font-size:clamp(1.6rem,2.5vw,2.7rem); line-height:1.16; letter-spacing:-.02em; max-width:18ch; }
.vf-details .detail-brief ul { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:16px; }
.vf-details .detail-brief li { font-size:16px; color:var(--slate); }
.vf-details .detail-section { padding:clamp(46px,5.2vw,80px) 0; }
.vf-details .detail-section .h2 { max-width:22ch; font-size:clamp(2rem,3.3vw,3.7rem); line-height:1.07; }
.vf-details .detail-section .vf-section-head { margin-bottom:30px; }
.vf-details .detail-overview { max-width:54ch; color:var(--slate); }
.vf-details .detail-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vf-details .detail-preview-grid h3 { font-size:1.4rem; line-height:1.2; margin-bottom:10px; }
.vf-details .detail-preview-grid p { color:var(--slate); font-size:17px; line-height:1.5; }
.vf-details .detail-preview-grid article { padding:28px; border-radius:var(--radius); background:var(--white); }
.vf-details .vf-white .detail-preview-grid article { background:var(--paper); }
.vf-details .detail-tiles article { padding:0; background:none!important; border-radius:0; }
.vf-details .detail-tiles h3 { font-size:clamp(1.5rem,2.5vw,2.3rem); max-width:16ch; }
.vf-details .detail-process { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; counter-reset:step; }
.vf-details .detail-process li { counter-increment:step; }
.vf-details .detail-process li::before { content:counter(step,decimal-leading-zero); font:400 13px/1.3 ui-monospace,monospace; color:var(--slate); display:block; margin-bottom:24px; }
.vf-details .detail-process h3 { font-size:1.5rem; margin-bottom:10px; }
.vf-details .detail-process p { font-size:17px; color:var(--slate); }
.vf-details .detail-index { list-style:none; margin:0; padding:0; }
.vf-details .detail-index li { display:grid; grid-template-columns:1fr 1.4fr; gap:32px; padding:22px 0; border-bottom:1px solid var(--line); }
.vf-details .detail-index h3 { font-size:1.6rem; line-height:1.25; }
.vf-details .detail-index p { color:var(--slate); font-size:17px; }
.vf-details .detail-flow { display:flex; gap:18px; align-items:center; padding:32px; background:var(--white); border-radius:var(--radius); }
.vf-details .detail-flow article { flex:1; }
.vf-details .detail-flow h3 { font-size:1.4rem; line-height:1.2; margin-bottom:10px; }
.vf-details .detail-flow p { font-size:16px; color:var(--slate); line-height:1.5; }
.vf-details .detail-flow > span { font-size:22px; color:var(--red); }
.vf-details .detail-split-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vf-details .detail-split-panels article { background:var(--white); padding:32px; border-radius:var(--radius); }
.vf-details .detail-split-panels h3 { font-size:1.6rem; margin-bottom:14px; }
.vf-details .detail-split-panels p { color:var(--slate); font-size:17px; }
.vf-details .detail-split-panels article:last-child { background:var(--navy); color:var(--white); }
.vf-details .detail-split-panels article:last-child p { color:var(--on-dark-muted); }
.vf-details .detail-narrative { display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(32px,6vw,88px); align-items:start; }
.vf-details .detail-narrative .detail-heading { position:sticky; top:110px; }
.vf-details .detail-narrative .detail-overview { margin-top:22px; }
.vf-details .detail-narrative .detail-index li { grid-template-columns:1fr; gap:6px; }
.vf-details .detail-statement { display:grid; grid-template-columns:1.25fr .8fr; gap:clamp(32px,6vw,88px); align-items:center; }
.vf-details .detail-statement picture img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); }
.vf-details .detail-statement .detail-index li { grid-template-columns:1fr; gap:6px; }
.vf-details .detail-disclosures { margin-top:30px; }
.vf-details .detail-disclosures .vf-disclosure { margin:0; }
.vf-details .vf-detail { padding-bottom:12px; line-height:1.65; }
.vf-details .vf-detail > h2 { font-size:1.7rem; margin-bottom:20px; }
.vf-details .vf-detail > p + *, .vf-details .vf-detail > ul + *, .vf-details .vf-detail > ol + * { margin-top:20px; }
.vf-details .vf-detail figure { margin:24px 0; }
.vf-details .vf-detail img { border-radius:var(--radius); }
.vf-details .vf-detail table { min-width:500px; }
.vf-details .vf-detail ul,.vf-details .vf-detail ol { margin:18px 0; }
.vf-details .detail-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vf-details .detail-work { display:block; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; width:100%; }
.vf-details .detail-work picture { display:block; overflow:hidden; border-radius:var(--radius); }
.vf-details .detail-work img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; transition:transform .25s var(--ease); }
.vf-details .detail-work:hover img { transform:scale(1.02); }
.vf-details .detail-work strong { display:block; font-size:20px; font-weight:500; margin-top:14px; }
.vf-details .detail-work span { display:block; font-size:14px; color:var(--slate); margin-top:4px; }
.vf-details .detail-faq .faq-grid { grid-template-columns:1fr 1.3fr; }
.vf-details .detail-faq .accordion details p { max-width:62ch; }
.vf-details .detail-end { background:var(--paper); }
.vf-details .detail-end .h2 { max-width:17ch; }
.vf-details .detail-end .lead { margin:24px 0; max-width:45ch; }
.vf-details .detail-links { margin-top:40px; }
.vf-details .detail-links summary { font-size:17px; }
.vf-details .detail-links ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; list-style:none; padding:0; margin-top:24px; }
.vf-details .detail-links li a { font-size:16px; text-underline-offset:4px; }
.vf-details .detail-proof-control { display:none; gap:8px; margin:24px 0; }
.js .vf-details .detail-proof-control { display:flex; }
.vf-details .detail-proof-control button { padding:10px 22px; border:1px solid var(--line); border-radius:999px; background:var(--white); cursor:pointer; font-size:15px; }
.vf-details .detail-proof-control button[aria-pressed=true] { color:var(--white); background:var(--navy); }
.vf-details .detail-proof figure { margin:24px 0 0; max-width:540px; }
.vf-details .detail-proof img { width:100%; height:auto; }
.vf-details .detail-proof figcaption { font-size:14px; color:var(--slate); margin-top:16px; }
.js .vf-details [data-state=before] .detail-proof-after, .js .vf-details [data-state=after] .detail-proof-before { display:none; }
@media(min-width:1100px) { .vf-details .detail-type-intro { padding-top:calc(var(--header) + 68px); } }
@media(max-width:1000px) { .vf-details .detail-narrative { grid-template-columns:1fr; } .vf-details .detail-narrative .detail-heading { position:static; } }
@media(max-width:760px) {
 .vf-details .detail-intro { padding-bottom:42px; }
 .vf-details .detail-intro .display { font-size:clamp(2.6rem,10.5vw,3.6rem); max-width:17ch; }
 .vf-details .detail-intro .vf-split,.vf-details .detail-preview-grid,.vf-details .detail-process,.vf-details .detail-split-panels,.vf-details .detail-statement,.vf-details .detail-work-grid,.vf-details .detail-faq .faq-grid { grid-template-columns:1fr; gap:26px; }
 .vf-details .detail-brief { padding:28px; }
 .vf-details .detail-brief p { font-size:1.9rem; }
 .vf-details .detail-brief ul { gap:10px; margin-top:20px; }
 .vf-details .detail-preview-grid article,.vf-details .detail-split-panels article { padding:26px; }
 .vf-details .detail-tiles article { padding:0; }
 .vf-details .detail-process li::before { margin-bottom:14px; }
 .vf-details .detail-index li { grid-template-columns:1fr; gap:10px; padding:20px 0; }
 .vf-details .detail-flow { align-items:stretch; flex-direction:column; padding:28px; gap:16px; }
 .vf-details .detail-flow > span { transform:rotate(90deg); width:max-content; }
 .vf-details .detail-links ul { grid-template-columns:1fr; gap:16px; }
 .vf-details .detail-faq .accordion { margin-top:0; }
 .vf-details .vf-disclosure summary { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .vf-details .detail-work img { transition:none; } }
