


html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="submit"] { -webkit-appearance: button; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
[type="checkbox"] { box-sizing: border-box; padding: 0; }
summary { display: list-item; }
template, [hidden] { display: none; }


*, *::before, *::after { box-sizing: border-box; }


:root {
  
  --surface-base: #1c1411;
  --surface-raised: #271c17;
  --surface-sunken: #130d0b;
  --surface-veil: rgba(19, 13, 11, 0.74);

  
  --content-primary: #f6ece1;
  --content-muted: #cbb3a0;
  --content-inverse: #1a120f;

  
  --action-primary: #f08b4a;
  --action-hover: #ffa870;
  --action-quiet: #b4632b;
  --action-disabled: #6d5a50;

  
  --edge-soft: rgba(246, 236, 225, 0.16);
  --edge-strong: rgba(240, 139, 74, 0.5);
  --signal-positive: #a8c489;
  --signal-alert: #f5576c;
  
  --signal-cool: #667eea;
  --signal-cool-soft: #8fa4f2;

  
  --hero-photo: none;
  --hero-veil: 1;
  --hero-wash: linear-gradient(158deg, #34211a 0%, #1c1411 46%, #40261a 100%);

  
  --rhythm-hair: 0.4em;
  --rhythm-tight: 0.75em;
  --rhythm-base: 1.35em;
  --rhythm-wide: 2.4em;
  --rhythm-vast: 4.2em;

  --edge-round: 0.3em;
  --edge-round-wide: 0.85em;
  --shell-measure: 74em;

  --type-display: 'Archivo', 'Segoe UI', sans-serif;
  --type-body: 'Spectral', Georgia, 'Times New Roman', serif;

  --motion-glide: 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}


body {
  display: grid;
  grid-template-areas:
    "header"
    "main"
    "footer";
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  background: var(--surface-base);
  color: var(--content-primary);
  font-family: var(--type-body);
  font-size: 1em;
  line-height: 1.62;
}
.site-header { grid-area: header; }
main { grid-area: main; }
.site-footer { grid-area: footer; }


h1, h2, h3, h4 { font-family: var(--type-display); margin: 0 0 var(--rhythm-tight); }
h1 { font-size: 4em; font-weight: 900; line-height: 1.04; letter-spacing: -0.02em; }
h2 { font-size: 2em; font-weight: 800; line-height: 1.16; }
h3 { font-size: 1.5em; font-weight: 700; line-height: 1.24; }
h4 { font-size: 1.1em; font-weight: 700; }
p { font-size: 1em; line-height: 1.62; margin: 0 0 var(--rhythm-base); }
a { color: var(--action-primary); text-decoration: none; }
a:hover, a:focus-visible { color: var(--action-hover); text-decoration: underline; }
:focus-visible { outline: 2px solid var(--action-hover); outline-offset: 3px; }
img { max-width: 100%; height: auto; }


.content-section { position: relative; scroll-margin-top: 7.5em; }
.content-section:nth-child(odd) { padding: 3em 1em 5em; }
.content-section:nth-child(even) { padding: 5em 1em 3em; }
.firm-container {
  width: 100%;
  max-width: var(--shell-measure);
  margin: 0 auto;
  padding-left: 10%;
  padding-right: 5%;
}


@media (max-width: 1024px) {
  h1 { font-size: 3em; }
  h2 { font-size: 1.75em; }
  .firm-container { padding-left: 6%; padding-right: 4%; }
  .content-section:nth-child(odd) { padding: 2.6em 1em 4em; }
  .content-section:nth-child(even) { padding: 4em 1em 2.6em; }
}


@media (max-width: 768px) {
  body { line-height: 1.58; }
  h1 { font-size: 2.35em; }
  h2 { font-size: 1.5em; }
  h3 { font-size: 1.2em; }
  .firm-container { padding-left: 1.2em; padding-right: 1.2em; }
  .content-section:nth-child(odd),
  .content-section:nth-child(even) { padding: 2.4em 0 2.4em; }
}
