/* V0 editorial contract. Deliberately separate from the native hero/gallery.
   Explicit surface ownership prevents Breakdance's late dark heading rules
   from turning dark-section headings black. No global h1 or header override. */
.breakdance .jfv0-live { --jf-heading: #f4f1eb; }
.breakdance .jfv0-live :is(h2,h3) {
  color: var(--jf-heading) !important;
  -webkit-text-fill-color: var(--jf-heading) !important;
  font-weight: 600;
  line-height: 1.13;
  letter-spacing: -.025em;
}
.breakdance .jfv0-live h2 { font-size: clamp(32px, 4.3vw, 64px); }
.breakdance .jfv0-live h3 { font-size: clamp(22px, 2.25vw, 32px); }
.breakdance :is(.jfv0-mkt-principles,.jfv0-mkt-system,.jfv0-agency-operating,.jfv0-contact-conversation,.jfv0-writing-index,.jfv0-toolkit-panel,.jfv0-feature-cta--writing,.jfv0-feature-section--blue,.jfv0-feature-section--paper) { --jf-heading: #101214; }
.breakdance .jfv0-writing-private { --jf-heading: #f4f1eb; }
.breakdance :is(.jfv0-writing-proof,.jfv0-writing-private,.jfv0-feature-cta--writing,.jfv0-toolkit-panel) h2 em {
  color:var(--jf-heading) !important;
  -webkit-text-fill-color:var(--jf-heading) !important;
  background:none !important;
}
.breakdance :is(.jfv0-contact-form,.jfv0-agency-experience__grid article) { --jf-heading: #f4f1eb; }
.breakdance .jfv0-live--print { --jf-heading: #0b0d12; }
.breakdance .jfv0-live--print .jfv0-dark-panel { --jf-heading: #f4f1eb; }
.breakdance .jfv0-live--print .jfv0-button--quiet { color:#101214; -webkit-text-fill-color:#101214; }
.breakdance .jfv0-live--print .jfv0-dark-panel .jfv0-button--quiet { color:#f4f1eb; -webkit-text-fill-color:#f4f1eb; }
.breakdance .jfv0-mkt-agency__list article > div > span { color: #7cdeee; }
.breakdance .jfv0-live .jfv0-lead { font-weight: 400; }
.breakdance .jfv0-live h2 em { font-weight: 400; letter-spacing: -.025em; }

/* Field Notes: ivory paper, ink, and color supplied by original photography. */
.breakdance .jf-field-page {
  --jf-heading: #151719;
  --jf-paper: #f3f0e9;
  --jf-rule: #d4d0c7;
  padding: var(--jf-header-clearance, 90px) 0 0;
  min-height: 0;
  color: #151719;
  background: var(--jf-paper);
  font-family: 'Bricolage Grotesque', sans-serif;
}
.jf-field-page::before,.jf-field-page::after { display: none; }
.jf-field-page *, .jf-closing * { box-sizing: border-box; }
.jf-field-page :is(figure,p),.jf-closing p { margin: 0; }
.jf-field-page :is(a,button,summary):focus-visible,.jf-closing a:focus-visible { outline: 2px solid #007688; outline-offset: 6px; }
.breakdance .jf-field-label {
  margin: 0 0 22px;
  color: inherit;
  font: 500 11px/1.5 'JetBrains Mono', monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.jf-field-hero,.jf-field-notes,.jf-field-experience { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.jf-field-hero { padding-top: clamp(48px,6vw,88px); }
.breakdance .jf-field-page h1 {
  margin: 0;
  max-width: 1040px;
  color: #151719;
  -webkit-text-fill-color: #151719;
  font: 500 clamp(52px,7.4vw,106px)/.98 'Bricolage Grotesque',sans-serif;
  letter-spacing: -.045em;
}
.breakdance .jf-field-page :is(h1,h2) em {
  color: inherit;
  -webkit-text-fill-color: currentColor;
  background: none;
  font-family: 'Instrument Serif',Georgia,serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.025em;
}
.jf-field-intro { margin-top: 28px; }
.jf-field-intro p { max-width: 540px; font-size: clamp(17px,1.6vw,21px); line-height: 1.5; font-weight: 400; }
.breakdance .jf-field-link { display: inline-flex; align-items: center; gap: 42px; min-height: 44px; margin-top: 25px; padding: 10px 20px; border: 1px solid #696962; color:#151719; text-decoration:none; font-size:15px; }
.jf-field-link:hover { background:#e4e0d7; }
.jf-contact-sheet { display: grid; grid-template-columns: 1.08fr .8fr 1.92fr; align-items: end; gap: 28px; margin-top: -14px; }
.jf-contact-sheet figure { min-width:0; }
.jf-contact-sheet figure:nth-child(1) { padding-bottom:0; }
.jf-contact-sheet figure:nth-child(2) { padding-bottom:30px; }
.jf-contact-sheet figure:nth-child(3) { padding-bottom:62px; }
.jf-contact-sheet a { display:block; }
.jf-contact-sheet img { display:block; width:100%; height:auto; border-radius:0; transition:filter .2s; }
.jf-contact-sheet a:hover img { filter:brightness(1.08); }
.jf-contact-sheet figcaption { margin-top:12px; color:#65645d; font:400 11px/1.5 'JetBrains Mono',monospace; }
.jf-contact-sheet figcaption span { display:block; color:#292b2a; margin-bottom:3px; }
@media(min-width:901px) {
  .jf-field-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr); column-gap:60px; padding-top:64px; }
  .jf-field-hero > .jf-field-label { grid-column:1 / -1; }
  .jf-field-intro { margin-top:0; padding-bottom:8px; align-self:end; }
  .jf-field-intro p { font-size:19px; line-height:1.6; }
  .jf-field-intro p br { display:none; }
  .jf-contact-sheet,.jf-field-byline { grid-column:1 / -1; }
  .jf-contact-sheet { margin-top:44px; }
}
.jf-field-byline { display:flex; gap:18px; align-items:center; padding:42px 0 56px; }
.jf-field-byline img { width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:50% 32%; }
.jf-field-byline div { display:grid; gap:5px; font-size:15px; }
.jf-field-byline div span { font-size:12px; color:#65645d; }
.jf-field-byline > p { margin-left:auto; padding-left:34px; border-left:1px solid var(--jf-rule); font-size:20px; line-height:1.3; }
.jf-field-notes { padding:70px 0; border-top:1px solid var(--jf-rule); display:grid; grid-template-columns:1fr 1fr; gap:32px 70px; }
.jf-field-notes header { grid-row:span 2; }
.breakdance .jf-field-page h2 { margin:0 0 22px; font-weight:500; font-size:clamp(34px,4vw,56px); }
.jf-field-notes header > p:last-child,.jf-field-experience header > p:last-child { max-width:410px; font-size:17px; line-height:1.6; color:#62615a; }
.jf-lens-controls { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:stretch; }
[data-jf-field-notes][data-ready] .jf-lens-controls { display:grid; }
.jf-lens-controls button { appearance:none; border:0; border-bottom:1px solid #b5b1a7; background:none; padding:12px 0; text-align:left; font:500 16px/1.35 'Bricolage Grotesque',sans-serif; color:#62615a; cursor:pointer; }
.jf-lens-controls button span { display:block; margin-bottom:6px; font:11px 'JetBrains Mono',monospace; }
.jf-lens-controls button[aria-pressed="true"] { border-bottom:3px solid #16788a; color:#121516; }
.jf-lens-panels { min-height:290px; }
.jf-lens-panels article[hidden] { display:none; }
.jf-lens-panels article + article { margin-top:28px; }
[data-ready] .jf-lens-panels article { margin-top:0; }
.breakdance .jf-lens-panels h3 { font-size:27px; margin:0 0 16px; }
.jf-lens-panels article > p:not(.jf-field-label) { font-size:17px; line-height:1.6; color:#62615a; }
.breakdance .jf-lens-panels a,.breakdance .jf-experience-rows a { display:inline-block; color:#126678; font-size:15px; font-weight:500; text-decoration:underline; text-underline-offset:5px; margin:24px 20px 0 0; min-height:32px; }
.jf-field-experience { display:grid; grid-template-columns: .82fr 1.18fr; gap:70px; padding:70px 0 100px; border-top:1px solid var(--jf-rule); }
.jf-experience-rows details { border-bottom:1px solid var(--jf-rule); }
.jf-experience-rows details:first-child { border-top:1px solid var(--jf-rule); }
.jf-experience-rows summary { display:grid; grid-template-columns:110px minmax(0,1fr); padding:26px 20px 26px 0; gap:8px 18px; cursor:pointer; }
.jf-experience-rows summary > span:first-child { font:10px/1.6 'JetBrains Mono',monospace; color:#65645d; text-transform:uppercase; }
.jf-experience-rows summary strong { font-size:22px; line-height:1.2; font-weight:500; }
.jf-experience-rows .jf-career-role { display:block; margin-top:9px; color:#62615a; font:400 13px/1.5 'JetBrains Mono',monospace; }
.jf-experience-rows details > div ul { padding-left:18px; margin:12px 0; }
.jf-experience-rows details > div li + li { margin-top:8px; }
.jf-row-hint { grid-column:2; font-size:11px; color:#62615a; }
.jf-experience-rows details[open] summary { color:#126678; }
.jf-experience-rows details > div { padding:0 0 26px 128px; font-size:16px; line-height:1.6; color:#62615a; }

/* One consistent, useful ending. The header stays native; social destinations
   are carried forward from the owner's existing footer rather than guessed. */
.jf-closing { background:#080a0b; color:#f3f0e9; padding:80px max(32px,calc((100% - 1240px)/2)) 32px; font-family:'Bricolage Grotesque',sans-serif; }
.jf-closing__invitation { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; padding-bottom:65px; border-bottom:1px solid #363838; }
.breakdance .jf-closing h2 { margin:0; color:#f3f0e9; font:500 clamp(36px,4.4vw,64px)/1.05 'Bricolage Grotesque',sans-serif; letter-spacing:-.035em; }
.jf-closing h2 em { font:italic 400 1.1em 'Instrument Serif',Georgia,serif; }
.jf-closing__invitation > div > p:not(.jf-field-label) { max-width:390px; font-size:17px; line-height:1.6; color:#b0b4b3; }
.breakdance .jf-closing__contact { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #6c888b; padding:20px 0 13px; color:#91dfe8; font-size:19px; font-weight:500; text-decoration:none; }
.jf-closing__directory { display:grid; grid-template-columns:1.5fr 1fr 1fr .7fr; gap:32px; padding:54px 0; }
.breakdance .jf-closing a { color:#f3f0e9; text-decoration:none; }
.breakdance .jf-closing a:hover { color:#91dfe8; }
.jf-closing__identity { display:flex; gap:17px; align-items:flex-start; font-size:23px; }
.jf-closing__identity img { width:56px; height:56px; object-fit:contain; }
.jf-closing__identity small { display:block; max-width:170px; margin-top:8px; font-size:13px; color:#b0b4b3; line-height:1.5; }
.jf-closing__directory nav { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.jf-closing__directory nav .jf-field-label { color:#929a99; margin-bottom:16px; font-size:10px; }
.jf-closing__directory nav a { display:flex; align-items:center; min-height:36px; font-size:14px; }
.jf-closing__colophon { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #363838; padding-top:24px; color:#929a99; font:11px/1.6 'JetBrains Mono',monospace; }
@media(max-width:900px) {
  .jf-contact-sheet { gap:18px; margin-top:30px; }
  .jf-field-notes,.jf-field-experience { gap:35px; }
  .jf-field-experience { grid-template-columns:1fr; }
  .jf-closing__directory { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .jf-field-hero,.jf-field-notes,.jf-field-experience { width:calc(100% - 40px); }
  .jf-field-hero { padding-top:38px; }
  .breakdance .jf-field-page h1 { font-size:clamp(42px,11.5vw,68px); line-height:1.02; }
  .breakdance .jf-field-label { font-size:9px; letter-spacing:.09em; }
  .jf-field-intro p { font-size:17px; }
  .jf-field-intro p br { display:none; }
  .jf-contact-sheet { grid-template-columns:1fr .82fr; gap:20px 15px; align-items:start; margin-top:34px; }
  .jf-contact-sheet figure:nth-child(n) { padding:0; }
  .jf-contact-sheet figure:nth-child(3) { grid-column:1 / -1; }
  .jf-contact-sheet figcaption { font-size:9px; }
  .jf-field-byline { flex-wrap:wrap; padding:32px 0 40px; gap:12px; }
  .jf-field-byline img { width:48px; height:48px; }
  .jf-field-byline > p { display:none; }
  .jf-field-byline div span { font-size:11px; }
  .jf-field-notes { grid-template-columns:1fr; gap:28px; padding:45px 0; }
  .jf-field-notes header { grid-row:auto; }
  .jf-lens-controls button { font-size:14px; min-height:64px; }
  .jf-lens-panels { min-height:345px; }
  .breakdance .jf-lens-panels h3 { font-size:25px; }
  .jf-field-experience { padding:45px 0 60px; }
  .jf-experience-rows summary { grid-template-columns:1fr; padding:22px 0; }
  .jf-experience-rows summary strong { font-size:23px; }
  .jf-row-hint { grid-column:auto; }
  .jf-experience-rows details > div { padding-left:0; }
  .jf-closing { padding:48px 20px 100px; }
  .jf-closing__invitation { grid-template-columns:1fr; gap:28px; padding-bottom:36px; }
  .jf-closing__contact { font-size:17px !important; }
  .jf-closing__directory { gap:30px 20px; padding:32px 0; }
  .jf-closing__identity { grid-column:1 / -1; }
  .jf-closing__directory nav a { min-height:44px; }
  .jf-closing__colophon { flex-wrap:wrap; font-size:10px; }
  .jf-closing__colophon > span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) { .jf-contact-sheet img { transition:none; } }
