/* Copy of MM DESIGN SYSTEM/colors_and_type.css (exported 2026-09-23), comments removed. The Google @import and the
   self-hosted @font-face blocks are removed: IvyPresto comes from the firm's Adobe Fonts kit (naq7ucp), loaded in each page. */

:root {
  --mm-black:        #232323;   
  --mm-white:        #FFFFFF;
  --mm-off-white:    #EDEDEA;   
  --mm-grey:         #4D4D4E;   
  --mm-orange:       #F7931F;   
  --mm-light-orange: #F4C38E;   
  --mm-light-blue:   #D1DAE3;   
  --mm-blue:         #8AA3B7;   
  --mm-ink-900:      #232323;   
  --mm-ink-800:      #232323;   
  --mm-ink-700:      #2F2F30;   
  --mm-ink-600:      #4D4D4E;   
  --mm-ink-500:      #6B6B6C;
  --mm-ink-400:      #8E8E8F;
  --mm-ink-300:      #B5B5B3;
  --mm-ink-200:      #D6D6D1;
  --mm-ink-100:      #EDEDEA;   
  --mm-ink-050:      #F6F5F2;   
  --mm-rule-ink:     rgba(35, 35, 35, 0.20);   
  --mm-rule-paper:   rgba(237, 237, 234, 0.30); 
  --mm-rule-strong:  rgba(35, 35, 35, 0.55);
  --mm-rule-summary: 2px;                       
  --mm-rule-slide:      rgba(35, 35, 35, 0.30);
  --mm-rule-slide-dark: rgba(237, 237, 234, 0.40);
  --bg:              var(--mm-off-white);   
  --bg-paper:        var(--mm-white);       
  --bg-sunken:       #E5E5E1;               
  --bg-contrast:     var(--mm-ink-900);     
  --fg:              var(--mm-black);       
  --fg-muted:        var(--mm-grey);        
  --fg-subtle:       var(--mm-ink-500);     
  --fg-inverse:      var(--mm-off-white);
  --accent:          var(--mm-orange);      
  --accent-soft:     var(--mm-light-orange);
  --accent-on:       #FFFFFF;               
  --slate:           var(--mm-blue);        
  --slate-soft:      var(--mm-light-blue);
  --border:          var(--mm-rule-ink);
  --border-strong:   var(--mm-ink-300);
  --focus-ring:      color-mix(in oklab, var(--mm-orange) 55%, transparent);
  --font-serif:      'ivypresto-display', 'IvyPresto Display', 'Cormorant Garamond', 'Hoefler Text', 'Times New Roman', serif;
  --font-sans:       'Roboto', 'Helvetica Neue', Arial, sans-serif;
  --font-accent:     'Montserrat', 'Roboto', Arial, sans-serif;   
  --font-mono:       ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --tracking-display: -0.02em;
  --tracking-body:     0;
  --tracking-kicker:   0.25em;
  --leading-display:   1.05;
  --leading-headline:  1.12;
  --leading-body:      1.55;
  --fs-display-xl:    clamp(3.5rem, 7vw + 1rem, 7.5rem);    
  --fs-display:       clamp(2.75rem, 4.5vw + 1rem, 5rem);   
  --fs-h1:            clamp(2.25rem, 3vw + 1rem, 3.5rem);   
  --fs-h2:            clamp(1.75rem, 2vw + 1rem, 2.5rem);   
  --fs-h3:            1.5rem;      
  --fs-h4:            1.25rem;     
  --fs-lead:          1.1875rem;   
  --fs-body:          1rem;        
  --fs-small:         0.875rem;    
  --fs-micro:         0.75rem;     
  --space-0:   0;
  --space-1:   0.25rem;    
  --space-2:   0.5rem;     
  --space-3:   0.75rem;    
  --space-4:   1rem;       
  --space-5:   1.5rem;     
  --space-6:   2rem;       
  --space-7:   3rem;       
  --space-8:   4rem;       
  --space-9:   6rem;       
  --space-10:  8rem;       
  --space-kicker: 0.5rem;  
  --space-section: 2.5rem; 
  --straddle-height: 12rem; 
  --radius-0:   0;           
  --radius-1:   8px;         
  --radius-2:   12px;        
  --radius-3:   14px;        
  --radius-card: 16px;       
  --radius-4:   18px;        
  --radius-pill: 999px;      
  --shadow-0: none;
  --shadow-2: 0 4px 14px rgba(35,35,35,0.08), 0 1px 2px rgba(35,35,35,0.04);
  --shadow-inset: inset 0 0 0 1px rgba(35,35,35,0.08);
  --ease-standard: cubic-bezier(0.2, 0.6, 0.2, 1); 
  --ease-entrance: cubic-bezier(0.16, 0.84, 0.32, 1); 
  --dur-fast:   140ms; 
  --dur-med:    240ms; 
  --dur-slow:   420ms; 
  --container:    1240px;
  --container-lg: 1440px;
  --gutter:       clamp(1rem, 3vw, 2.5rem); 
}
.theme-dark,
[data-theme="dark"] {
  --bg:          var(--mm-black);
  --bg-paper:    var(--mm-black);
  --bg-sunken:   var(--mm-black);   
  --bg-contrast: var(--mm-off-white);
  --fg:          var(--mm-off-white);
  --fg-muted:    var(--mm-ink-300);
  --fg-subtle:   var(--mm-ink-400);
  --fg-inverse:  var(--mm-black);
  --accent-on:   #FFFFFF;   
  --border:      var(--mm-rule-paper);
  --border-strong: rgba(237, 237, 234, 0.28);
  --shadow-2: 0 4px 14px rgba(0,0,0,0.45);
}
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  font-weight: 300;              
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.mm-display-xl, .mm-display, .mm-h1, .mm-h2,
h1, h2 {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  color: var(--fg);
  text-wrap: balance;
  margin: 0 0 var(--space-5) 0;
}
.mm-display-xl { font-size: var(--fs-display-xl); line-height: 1.02; }
.mm-display    { font-size: var(--fs-display); }
h1, .mm-h1     { font-size: var(--fs-h1); }
h2, .mm-h2     { font-size: var(--fs-h2); line-height: var(--leading-headline); }
.mm-emph, h1 em, h2 em, .mm-display em {
  font-style: italic;
  font-weight: 300;
  color: inherit;
}
h3, .mm-h3 {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: var(--fs-h3);
  line-height: var(--leading-headline);
  letter-spacing: -0.005em;
  margin: 0 0 var(--space-3) 0;
  color: var(--fg);
}
h4, .mm-h4 {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: var(--fs-h4);
  line-height: 1.3;
  margin: 0 0 var(--space-2) 0;
  color: var(--fg);
}
p, .mm-body {
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  color: var(--fg);
  margin: 0 0 var(--space-4) 0;
  max-width: 66ch;
  text-wrap: pretty;
}
.mm-lead {
  font-size: var(--fs-lead);
  line-height: 1.5;
  color: var(--fg);
  font-weight: 300;              
  max-width: 56ch;
}
.mm-small { font-size: var(--fs-small); }
.mm-micro { font-size: var(--fs-micro); }
.mm-label {                       
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--fs-small);
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--fg-muted);
}
p, .mm-body, li, dd, figcaption, .mm-small, .mm-micro { text-wrap: pretty; }
.mm-lead, .mm-display, .mm-display-xl, blockquote, .mm-quote,
h1, h2, h3, h4, .mm-h1, .mm-h2, .mm-h3, .mm-h4 { text-wrap: balance; }
.mm-knit { white-space: nowrap; }
@media print { p, li, .mm-body, .mm-lead { orphans: 3; widows: 3; } }
.mm-kicker {
  font-family: var(--font-accent);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-kicker);
  color: var(--accent);
  line-height: 1;
  display: block;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  margin: 0 0 var(--space-kicker) 0;
}
.mm-kicker + h1, .mm-kicker + h2, .mm-kicker + h3, .mm-kicker + h4,
.mm-kicker + p, .mm-kicker + .mm-display, .mm-kicker + .mm-display-xl,
.mm-kicker + .mm-h1, .mm-kicker + .mm-h2, .mm-kicker + .mm-h3, .mm-kicker + .mm-h4,
.mm-kicker + .mm-lead, .mm-kicker + .mm-body, .mm-kicker + blockquote,
.mm-kicker + .mm-quote { margin-top: 0; }
.mm-kicker--muted { color: var(--fg-muted); }
.mm-kicker--plain { color: var(--fg-muted); }
.mm-stamp {
  font-family: var(--font-accent);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: var(--fs-micro);    
}
a {
  color: var(--fg);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  transition: color var(--dur-fast) var(--ease-standard),
              text-decoration-color var(--dur-fast) var(--ease-standard);
}
a:hover {
  opacity: 0.7;
}
::selection {
  background: var(--mm-light-orange);
  color: var(--mm-black);
}
:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
.mm-photo, img.mm-photo-people { object-fit: contain; border-radius: var(--radius-card); }
.mm-bleed-right { border-radius: var(--radius-card) 0 0 var(--radius-card); }
.mm-bleed-left  { border-radius: 0 var(--radius-card) var(--radius-card) 0; }
.mm-bleed-down  { border-radius: var(--radius-card) var(--radius-card) 0 0; }
.mm-bleed-up    { border-radius: 0 0 var(--radius-card) var(--radius-card); }
.mm-bleed-full  { border-radius: 0; }
.mm-fill-blue   { background: var(--mm-blue); }
.mm-fill-orange { background: var(--accent); }
.mm-fill-grey   { background: var(--mm-grey); }
.mm-fill-dark   { background: var(--mm-black); }
.mm-fill-blue, .mm-fill-orange, .mm-fill-grey, .mm-fill-dark,
.mm-fill-blue *, .mm-fill-orange *, .mm-fill-grey *, .mm-fill-dark * { color: var(--mm-white); }
.mm-fill-dark .mm-kicker, .mm-fill-dark .mm-stamp { color: var(--accent); }
.mm-straddle { position: relative; z-index: 1; height: var(--straddle-height); margin-bottom: calc(var(--straddle-height) / -2); }
.mm-straddle-under { position: relative; padding-top: calc(var(--space-section) + var(--straddle-height) / 2); }
.mm-band-over { position: relative; z-index: 1; margin-bottom: calc(var(--straddle, 0px) * -1); }
.mm-band-under { position: relative; margin-top: 0; padding-top: calc(var(--space-section) + var(--straddle, 0px)); }
.mm-section-last { flex: 1; }
.mm-sheet > section, .mm-sheet > header, .mm-sheet > footer, .mm-sheet > div, .mm-bleed { border-radius: 0 !important; }
.mm-bleed-left  { border-radius: 0 var(--radius-card) var(--radius-card) 0 !important; }
.mm-bleed-right { border-radius: var(--radius-card) 0 0 var(--radius-card) !important; }
img[src*="portrait-"], .mm-portrait { border-radius: 0 !important; object-fit: contain !important; height: auto !important; max-width: 100%; display: block; }
.mm-numstack { list-style: none; margin: 0; padding: 0; }
.mm-numstack li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; padding: var(--space-4) 0; border-top: 1px solid var(--border); }
.mm-numstack li:first-child { border-top: 0; padding-top: 0; }
.mm-numstack .mm-num { font-family: var(--font-serif); font-weight: 300; font-size: 32px; line-height: 1; color: var(--fg-muted); }
.mm-cta-footer { position: relative; background: var(--mm-black, #232323); color: #FFFFFF; border-radius: 0; padding: var(--space-section) 0 0 0; display: grid; grid-template-columns: 260px 1fr; column-gap: var(--space-6); }
.mm-cta-footer .mm-portrait { align-self: end; width: 260px; height: auto; border-radius: 0; display: block; }
.mm-cta-footer .mm-contact-card { position: relative; z-index: 1; background: #4D4D4E; border-radius: 0 var(--radius-card) var(--radius-card) 0; margin-left: calc(-130px - var(--space-6)); padding: var(--space-5) var(--space-6) var(--space-5) calc(130px + var(--space-6) * 2); }
.mm-cta-footer .mm-portrait { position: relative; z-index: 2; }
.mm-cta-footer .mm-contact-row { display: flex; align-items: center; gap: 10px; color: var(--mm-orange); font-family: var(--font-sans); font-weight: 300; }
.mm-cta-footer .mm-contact-row i { font-size: 1.1em; }
.mm-cta-footer .mm-badge { height: 72px; width: auto; align-self: center; }
.mm-section { padding-top: var(--space-section); padding-bottom: var(--space-section); }
.mm-title-row { min-height: calc(2 * var(--leading-headline) * 1em); }
.mm-card p, .mm-col p, .mm-grid p, .mm-straddle p { max-width: none; }
.mm-balance { text-wrap: balance; }
.mm-icon-bleed { position: absolute; right: -6%; bottom: -8%; width: 380px; height: auto; opacity: 0.09; pointer-events: none; }
hr, .mm-rule {
  border: 0;
  border-top: 1px solid var(--border);
  margin: var(--space-6) 0;
}
.mm-rule--summary { border-top: var(--mm-rule-summary) solid var(--fg); }
h1, h2, h3, h4, .mm-h1, .mm-h2, .mm-h3, .mm-h4,
.mm-display, .mm-display-xl { border-bottom: 0; text-decoration: none; }
.mm-display, .mm-display-xl, h1, h2, h3, h4,
.mm-h1, .mm-h2, .mm-h3, .mm-h4, blockquote, .mm-quote { text-transform: none; }
.mm-label-col {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: var(--fs-h3);
  line-height: 1.2;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--fg-muted);
}
.mm-list { list-style: disc; padding-left: 1.1em; margin: 0 0 var(--space-4) 0; }
.mm-list li { margin: 0 0 var(--space-3) 0; }
.mm-list li::marker { color: var(--fg-muted); }
[data-theme="dark"] .mm-list li::marker,
.theme-dark .mm-list li::marker { color: var(--mm-ink-300); }
blockquote, .mm-quote {
  font-family: var(--font-serif);
  font-weight: 300;
  font-style: normal;
  font-size: clamp(1.375rem, 1.6vw + 0.5rem, 1.875rem);
  line-height: 1.25;
  color: #FFFFFF;
  background: var(--mm-blue);
  border: 0;
  border-radius: var(--radius-card);
  padding: var(--space-6) var(--space-7);
  margin: var(--space-6) 0;
  max-width: none;
}
blockquote em, .mm-quote em { font-style: italic; color: inherit; }
blockquote cite, .mm-quote cite {
  display: block;
  font-family: var(--font-accent);
  font-weight: 700;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: var(--fs-micro);
  color: #FFFFFF;
  opacity: 0.82;
  margin-top: var(--space-4);
}
.mm-quote--inline {
  background: none;
  padding: 0;
  border-radius: 0;
  color: var(--fg);
  font-style: italic;
  max-width: 52ch;
}
code, .mm-code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--bg-sunken);
  padding: 0.1em 0.35em;
  border-radius: var(--radius-1);
}
