:root {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    --font-serif: Georgia, "Times New Roman", Times, serif;
    --base-size: 16px;
    --scale-xxs: 0.75rem;
    --scale-xs: 0.875rem;
    --scale-sm: 1rem;
    --scale-md: 1.125rem;
    --scale-lg: 1.5rem;
    --scale-xl: 2rem;
    --line-height: 1.6;
    --heading-line-height: 1.15;
    --color-text: #222222;
    --color-muted: #666666;
    --measure: 65ch;
}

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

html {
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    color: var(--color-text);
}

body {
    margin: 42px;
    padding: 8px;
    font-size: var(--scale-sm);
    line-height: var(--line-height);
    background: #ffffff;
    color: var(--color-text);
}

section {
    display: inline-block;
    width: calc(28% - 12px);
    padding: 20px;
    margin: 42px;
    margin-bottom: 32px;
}

p { margin: 0 0 1rem 0; }
.lead { font-size: var(--scale-md); color: var(--color-muted); margin-bottom: 1rem; }
small, .small { font-size: var(--scale-xs); }

h1,h2,h3 {
    margin: 0 0 0.5rem 0;
    padding: 8px;
    line-height: var(--heading-line-height);
    font-weight: 600;
    color: var(--color-text);
}

h1 { font-size: clamp(1.6rem, 2.6vw + 1rem, 2.5rem); }
h2 { font-size: clamp(1.4rem, 2.2vw + 0.8rem, 2rem); }
h3 { font-size: clamp(1.2rem, 2.0vw + 0.6rem, 1.25rem); }

a { color: #0066cc; text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace; font-size: 0.875em; }

header{
    border: 1px solid red;
    border-radius: 10px;
    width: 90%;
    margin: 16px auto;
    padding: 12px 16px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.8);
}

nav{
    border-radius: 10px;
    width: 12%;
    margin: 16px auto;
    padding: 12px 16px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.8);
}

footer{
     width: 90%;
     margin: 16px auto;
     padding: 12px 0;
     text-align: center;
     border-top: 1px solid #e0e0e0;
     color: #666;
}

.jmg-gallery {
  float: right;
  display: flex;
  gap: 8px;
  max-width: 36%;
  align-items: center;
}
.jmg-gallery img {
  width: 100%;
  max-width: 140px;
  height: auto;
  display: block;
  border-radius: 4px;
}

.jmg-avatar {
  float: right;
  display: flex;
  gap: 16px;
  max-width: 42%;
  align-items: center;
}
.jmg-avatar img {
  width: 100%;
  max-width: 222px;
  height: 276px;
  display: block;
  border-radius: 12px;
}