[hidden] { display: none !important; }
:root { --paper:#f6f5f1; --ink:#222523; --muted:#707570; --line:#d8dcd6; --hot:#bc513b; }
html { scroll-behavior:auto; }
.will-faq { padding:60px 4% 80px; max-width:1100px; }
.will-faq h2 { font-size:40px; line-height:1.15; font-weight:500; margin:16px 0 32px; }
.will-faq details { border-top:1px solid var(--line); padding:0; }
.will-faq details:last-child { border-bottom:1px solid var(--line); }
.will-faq summary { cursor:pointer; padding:22px 30px 22px 0; font-size:20px; line-height:1.4; }
.will-faq summary:focus-visible { outline:2px solid var(--hot); outline-offset:3px; }
.will-faq details p { max-width:760px; line-height:1.7; margin:0 0 24px; color:var(--muted); }
.will-faq a { color:var(--hot); text-decoration:underline; }
.work-biography { max-width:680px; line-height:1.65; color:var(--muted); margin:0 0 32px; }
.project-row { text-decoration:none; box-sizing:border-box; }
@media(max-width:760px) { .will-faq { padding:40px 20px 56px; } .will-faq h2 { font-size:30px; } .will-faq summary { font-size:18px; } }
.site-header { padding:22px 4%; gap:20px; }
.wordmark { white-space:nowrap; }
.header-right { gap:30px; }
.section-nav { display:flex; gap:22px; }
.section-nav a { padding:8px 0; text-underline-offset:7px; }
.section-nav a[aria-current] { text-decoration:underline; }
.mode-toggle { order:3; font-size:11px; }
.market-status { display:flex; align-items:center; font-size:11px; }
.market-status i { flex-shrink:0; }
.market-closed i { background:#c74637; box-shadow:0 0 0 4px #c7463719; }
.work-view,.project-view { padding:44px 4% 0; }
.work-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:40px; font-size:11px; text-transform:uppercase; letter-spacing:0; color:var(--muted); }
.work-meta h1 { font-size:inherit; font-weight:600; margin:0; }
.work-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:6%; align-items:start; }
.work-list { list-style:none; margin:0; padding:4px 8px; max-height:calc(8 * 105px + 8px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.work-list li { border-top:1px solid var(--line); }
.work-list li:last-child { border-bottom:1px solid var(--line); }
.project-row { display:grid; grid-template-columns:28px 1fr 20px; align-items:center; gap:12px; width:100%; min-height:104px; border:0; padding:18px 0; color:var(--ink); background:none; text-align:left; }
.row-number { font-size:10px; color:var(--muted); align-self:start; padding-top:6px; }
.row-titles { display:grid; font-size:24px; line-height:1.18; font-weight:500; }
.row-titles > span { grid-area:1/1; transition:opacity .2s,transform .3s; }
.campaign-title { opacity:0; transform:translateY(10px); color:var(--hot); }
.story-title { opacity:1; }
.is-selected .campaign-title { opacity:1; transform:none; }
.is-selected .story-title { opacity:0; transform:translateY(-10px); }
.row-arrow { font-size:20px; opacity:.4; }
.is-selected .row-arrow { opacity:1; color:var(--hot); }
.preview-panel { position:sticky; top:118px; }
.w-art { display:block; position:relative; background:var(--project-color); overflow:hidden; color:#263b31; }
.w-art > span:first-child { position:absolute; left:-.07em; top:-.08em; font:900 115cqw/.95 Arial,sans-serif; transform:rotate(-8deg); opacity:.35; }
.w-art { container-type:inline-size; }
.preview-art { width:100%; aspect-ratio:4/5; max-height:none; transition:background-color .45s ease; }
.w-art .art-caption { position:absolute; left:24px; bottom:24px; font-size:11px; text-transform:uppercase; }
.preview-caption { display:flex; justify-content:space-between; gap:20px; padding-top:16px; font-size:12px; }
.preview-caption > :last-child { white-space:nowrap; color:var(--muted); }
.find-more { display:flex; justify-content:space-between; margin-top:72px; padding:30px 0 40px; border-top:1px solid var(--line); font-size:40px; }
.detail-toolbar { display:flex; justify-content:space-between; gap:20px; font-size:12px; padding-bottom:40px; }
.detail-heading { max-width:1000px; margin-bottom:40px; }
.detail-heading h1 { font-size:64px; line-height:1.06; font-weight:500; margin:20px 0; overflow-wrap:anywhere; }
.detail-heading p { color:var(--muted); }
.project-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:32px; }
.detail-art { aspect-ratio:16/10; }
.project-notes { align-self:center; padding:24px; }
.project-notes p { line-height:1.7; max-width:360px; }
.project-notes dl { font-size:13px; margin-top:32px; }
.project-notes dl div { border-top:1px solid var(--line); padding:12px 0; }
.project-notes dt { color:var(--muted); margin-bottom:8px; }
.project-notes dd { margin:0; }
.detail-secondary { grid-column:1/-1; aspect-ratio:3/1; }
.detail-secondary > span:first-child { left:45%; opacity:.18; }
.project-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:40px; padding:32px 0; }
.closing { min-height:75vh; }
.project-row:focus-visible,a:focus-visible { outline:2px solid var(--hot); outline-offset:5px; }
::view-transition-group(project-art) { animation-duration:650ms; animation-timing-function:cubic-bezier(.22,.7,.2,1); }
::view-transition-old(root) { animation-duration:180ms; }
::view-transition-new(root) { animation-duration:400ms; }
@media(min-width:1600px) { .row-titles { font-size:30px; } .project-row { min-height:103px; } }
@media(max-width:1000px) { .header-right { gap:18px; } .market-status { max-width:165px; line-height:1.4; } .row-titles { font-size:21px; } .work-layout { gap:4%; } }
@media(max-width:760px) {
  .site-header { flex-wrap:wrap; padding:17px 20px 12px; gap:14px; }
  .wordmark { font-size:22px; }
  .header-right { display:contents; }
  .section-nav { margin-left:auto; gap:17px; font-size:12px; }
  .market-status { order:3; max-width:none; font-size:10px; }
  .mode-toggle { order:4; margin-left:auto; }
  .work-view,.project-view { padding:28px 20px 0; }
  .work-meta { align-items:flex-start; font-size:9px; margin-bottom:26px; }
  .work-meta > span { max-width:165px; text-align:right; line-height:1.5; }
  .work-layout { display:block; }
  .preview-panel { display:none; }
  .project-row { min-height:88px; grid-template-columns:20px 1fr 18px; gap:8px; }
  .row-titles { font-size:21px; }
  .work-list .is-selected:not(:has(.mobile-preview:not([hidden]))) .story-title { opacity:1; transform:none; }
  .work-list .is-selected:not(:has(.mobile-preview:not([hidden]))) .campaign-title { opacity:0; }
  .mobile-preview { padding-bottom:20px; }
  .mobile-preview .w-art { aspect-ratio:4/3; }
  .open-project { display:flex; justify-content:space-between; padding:16px 0 0; font-size:13px; }
  .find-more { font-size:32px; margin-top:38px; }
  .detail-heading h1 { font-size:38px; }
  .detail-toolbar { padding-bottom:28px; }
  .project-grid { display:block; }
  .project-notes { padding:30px 0; }
  .detail-secondary { aspect-ratio:4/3; }
  .project-bottom { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } ::view-transition-group(*) { animation-duration:0s; } }

.campaign-title { font-family:Georgia,serif; font-style:italic; }
.row-arrow { transition:transform .3s,opacity .3s; }
.is-selected .row-arrow { transform:translate(2px,-2px); }
.section-nav button { border:0; background:none; padding:8px 0; font:inherit; color:var(--hot); }
.chart-scroller { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-color:var(--line) transparent; }
.chart-scroller .chart-wrap { width:100%; min-width:640px; height:auto; min-height:0; aspect-ratio:1200/540; }
.chart-scroller .career-chart { display:block; height:100%; }
.chart-scroller .chart-date-labels { position:relative; min-width:640px; height:32px; display:block; }
.chart-scroller .chart-date-labels span { position:absolute; transform:translateX(-50%); }
.chart-scroller .chart-date-labels span:nth-child(1) { left:4.6%; }
.chart-scroller .chart-date-labels span:nth-child(2) { left:27.5%; }
.chart-scroller .chart-date-labels span:nth-child(3) { left:50%; }
.chart-scroller .chart-date-labels span:nth-child(4) { left:75%; }
.chart-scroller .chart-date-labels span:nth-child(5) { left:92%; }
.chart-scroller .chart-date-labels span:nth-child(6) { left:98%; transform:translateX(-100%); }
.market-topline { flex-wrap:wrap; }
.write-view { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; padding-top:64px; padding-bottom:64px; }
.write-view h2 { font-size:64px; line-height:1.08; overflow-wrap:anywhere; }
.write-view h2 em { font:italic 1em Georgia,serif; color:var(--hot); }
.contact-form { display:grid; gap:24px; min-width:0; }
.contact-form label { display:grid; gap:12px; font-size:12px; color:var(--muted); }
.contact-form input,.contact-form textarea { width:100%; min-width:0; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:12px 0; background:transparent; color:var(--ink); font:inherit; font-size:18px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { outline:0; border-color:var(--hot); box-shadow:0 1px var(--hot); }
.contact-form button { display:flex; justify-content:space-between; padding:18px 0; border:0; border-top:1px solid var(--line); background:none; font-size:22px; }
.form-status { color:var(--muted); font-size:12px; line-height:1.6; margin:0; }
@media(max-width:1000px){ .header-right { gap:14px; } .section-nav { gap:15px; } .write-view h2 { font-size:48px; } }
@media(max-width:760px){
 .section-nav { gap:12px; font-size:11px; }
 .site-header { gap:10px; }
 .wordmark { font-size:20px; }
 .write-view { grid-template-columns:1fr; gap:44px; padding:40px 20px; }
 .write-view h2 { font-size:42px; }
 .chart-scroller { margin-top:20px; }
}
@media(max-width:370px){ .section-nav { width:100%; margin:0; justify-content:space-between; font-size:12px; } }
