@font-face{
  font-family:"Archivo";
  src:url("/assets/archivo-latin.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

:root{
  --sans:"Archivo",Arial,Helvetica,sans-serif;
  --serif:var(--sans);
  --green:#174d3b;
  --ink:#20392f;
  --muted:#485c51;
  --type-body:1rem;
  --type-label:.8125rem;
  --type-caption:.75rem;
  --type-title:clamp(2.5rem,4.5vw,4.25rem);
  --type-section:clamp(1.875rem,3vw,2.875rem);
  --type-subheading:clamp(1.25rem,1.7vw,1.5rem);
}

body{
  font-family:var(--sans);
  font-size:var(--type-body);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea,select{font-family:var(--sans)}
h1,h2,h3{
  font-family:var(--sans);
  color:var(--green);
  font-style:normal;
  text-wrap:balance;
}
h1,.editorial-lede h1,.exec-title h1,.receipt h1{
  font-size:var(--type-title);
  font-weight:700;
  line-height:1.06;
  letter-spacing:-.045em;
}
h2{
  font-size:var(--type-section);
  font-weight:650;
  line-height:1.15;
  letter-spacing:-.035em;
}
h3,.stack article h3,.delivery-panel>.stack article h3{
  font-size:var(--type-subheading);
  font-weight:650;
  line-height:1.25;
  letter-spacing:-.02em;
}
h1 em{
  font-style:normal;
  font-weight:700;
  color:#326d51;
}
.hero h1{max-width:12.5ch}
.hero h1 em{display:block}
.lead,.editorial-lede .lead{
  font-size:clamp(1rem,1.35vw,1.125rem);
  font-weight:400;
  line-height:1.65;
  letter-spacing:-.01em;
}
.section-title>p,.split .intro>p,.case-copy>p:not(.eyebrow){
  font-size:1rem;
  line-height:1.7;
}
.eyebrow{
  font-family:var(--sans);
  font-size:.6875rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.13em;
}
.mast nav a,.foot a{
  font-size:.875rem;
  font-weight:550;
  line-height:1.45;
}
.mast nav a[aria-current=page]{font-weight:700}
.btn,.text-link,.film-contact{
  font-family:var(--sans);
  font-size:.875rem;
  font-weight:650;
  line-height:1.45;
  letter-spacing:-.01em;
}
.journey a,.exec-next a,.guide-link{font-weight:650}
.triplet article>p,.stack article p,.text-column p,.body-list,.fact p{
  font-size:.9375rem;
  line-height:1.7;
}
.role-choices summary,.exec-work summary,.exec-method summary,.film summary,.offer-example summary{
  font-size:.9375rem;
  font-weight:650;
  line-height:1.5;
}
.role-choices h3{font-size:1.375rem;font-weight:650}
.role-choices p,.exec-work p,.record-note p{font-size:.9375rem;line-height:1.65}
.record-note h3{font-size:1.25rem;font-weight:650}
.feature-caption{font-size:.875rem;font-weight:450}
.feature-caption i{font:600 .9375rem/1.4 var(--sans)}
.cinema h2{
  font-size:clamp(2.25rem,3.8vw,3.5rem);
  font-weight:650;
  line-height:1.07;
  letter-spacing:-.045em;
  color:#fff9e9;
}
.cinema .film-intro>p:not(.eyebrow){font-size:1rem;line-height:1.65}
.film figcaption{font-size:var(--type-caption);line-height:1.6}
.film details p{font-size:.9375rem;line-height:1.7}

/* Data uses the same letterforms, with stable digit widths for scanning. */
.exec-metrics strong,.metric strong,.record-sheet strong,.triplet strong.figure{
  font-family:var(--sans);
  font-style:normal;
  font-weight:650;
  font-variant-numeric:lining-nums tabular-nums;
  letter-spacing:-.045em;
  line-height:1.2;
}
.exec-metrics strong{font-size:clamp(1.75rem,2.8vw,2.625rem);margin:6px 0}
.exec-metrics span,.exec-metrics small{font-size:var(--type-label);line-height:1.45}
.exec-metrics span{font-weight:550}
.metric strong{font-size:clamp(1.625rem,2.6vw,2.375rem)}
.record-sheet strong{font-size:2.125rem;margin:7px 0 9px}
.record-sheet span{font-size:.75rem;font-weight:600}
.triplet strong.figure{font-size:2.625rem}
.exec-review h2{font-size:clamp(1.375rem,2.1vw,1.875rem);font-weight:650;line-height:1.2;letter-spacing:-.025em}
.exec-title h1{font-size:clamp(2.25rem,4.1vw,3.75rem)}
.exec-panels article>p,.exec-table>p,.exec-method p,.demo-note,.demo-trace{
  font-size:.875rem;
  line-height:1.65;
}
.exec-status{font-size:var(--type-label);font-weight:500}
.exec-filters label,.controls label{font-size:var(--type-label);font-weight:650}
.exec-filters select,.controls select{font-size:1rem;font-weight:500}
.report-table,.exec-table .report-table{font-family:var(--sans);font-size:.875rem;line-height:1.5}
.report-table th{font-weight:650}
.report-table td{font-weight:450}
.report-table caption{font-weight:650}
.report-table td,.cash-legend dd,.mini-row b,.case-ledger dd{
  font-variant-numeric:lining-nums tabular-nums;
}
.trend-row{font-family:var(--sans);font-size:.875rem}
.trend-row strong{font-weight:650;font-variant-numeric:tabular-nums}
.cash-legend div{font-size:.875rem;line-height:1.5}
.demo-tabs button{font:600 1rem/1.4 var(--sans)}
.mini-report figcaption{font:650 1.375rem/1.3 var(--sans);letter-spacing:-.02em}
.delivery-stage summary strong{font:650 clamp(1.25rem,2vw,1.75rem)/1.25 var(--sans);letter-spacing:-.025em}
.delivery-stage summary span{font-size:var(--type-label);font-weight:650}
.prep-check legend{font:650 clamp(1.5rem,2.7vw,2.25rem)/1.2 var(--sans);letter-spacing:-.025em}
.prep-check label{font-size:.9375rem;line-height:1.6}
.form-area .prompt,.journey-contact .writing-prompt{
  font-family:var(--sans);
  font-size:1.125rem;
  font-style:normal;
  font-weight:500;
  line-height:1.6;
  letter-spacing:-.015em;
}
.practice-form h3{font-size:1.75rem;line-height:1.2;font-weight:650}
.practice-form label{font-family:var(--sans);font-size:.875rem;font-weight:650;line-height:1.45}
.practice-form input:not([type=hidden]),.practice-form textarea{
  font-family:var(--sans);
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
}
.practice-form #inquiry-help,.form-submit a{font-size:var(--type-caption);line-height:1.6}
.legal-main h2{font-size:1.5rem;font-weight:650;line-height:1.3;letter-spacing:-.025em}
.legal-main p{font-size:1rem;line-height:1.75}
.legal-main{max-width:840px}
.policy-nav a{font-size:.875rem;font-weight:550}
.small{font-size:var(--type-caption);line-height:1.65}
.foot span{font-size:var(--type-caption);line-height:1.5}

@media(max-width:760px){
  h1,.editorial-lede h1,.exec-title h1,.receipt h1{font-size:clamp(2.25rem,7.7vw,3.25rem)}
  .hero h1{font-size:clamp(2.5rem,8.6vw,3.5rem);max-width:13ch}
  h2{font-size:clamp(1.875rem,6.5vw,2.5rem)}
  .mast nav a{font-size:.8125rem;font-weight:550}
  .cinema h2{font-size:clamp(2.125rem,7vw,2.75rem)}
  .role-path>div:first-child h2{font-size:1.875rem;line-height:1.15}
  .exec-metrics>div{padding:15px 12px}
  .exec-metrics strong{font-size:clamp(1.5rem,6.5vw,2.25rem)}
  .record-sheet strong{font-size:1.875rem}
  .report-table th,.report-table td{font-size:.8125rem}
  .demo-tabs button{font-size:.9375rem}
  .metric strong{font-size:1.625rem}
  .lead,.editorial-lede .lead{font-size:1rem;line-height:1.65}
}
@media(max-width:360px){
  .mast nav{gap:8px 12px}
  .mast nav a{font-size:.75rem}
  .hero h1{font-size:2.25rem}
  .exec-metrics span,.exec-metrics small{font-size:.75rem}
}
