@font-face {
  font-family: 'Playfair Display Variable';
  src: url('../fonts/PlayfairDisplay-VariableFont.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Playfair Display Variable';
  src: url('../fonts/PlayfairDisplay-VariableFontItalic.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

body {
  width: 100%;
  /* max-width: 1200px;      /* controls max width of all content */
  margin: 0 auto;         /* center main on wider screens */
  padding: clamp(12px, 3vh, 32px) clamp(1rem, 6vw, 12%);

  box-sizing: border-box; /* include padding in width */

  font-family: 'Playfair Display', serif; /* Default font */
  font-size: clamp(0.75rem, 2vw, 1.2rem); /* shrink on mobile, stable on desktop */
}


main section {
  width: 100%;            /* sections fill the main container */
  margin-bottom: 2rem;    /* spacing between sections */
}

img {
  max-width: 100%;    /* never wider than container */
  height: auto;       /* maintain aspect ratio */
  display: block;     /* remove inline spacing issues */
  margin: 0 auto;     /* optional: center images */
  padding-bottom: clamp(10px, 5vw, 40px);   /* padding scales with viewport */
}

h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 900;               /* Black weight for max impact */
  font-size: clamp(2rem, 10vw, 7rem); /* Very large 7rem*/ 
  line-height: 1.1;               /* Tight line height */
  letter-spacing: 0.05em;         /* Slight spacing for clarity */
  text-transform: uppercase;      /* All caps for boldness */
  color: #222222;                 /* Dark but not harsh black */
  margin: 0;
  padding: 0;
  text-align: left;             /* Center on page */
  user-select: none;              /* Optional: prevent highlight */
}

h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;             /* Bold but lighter than hero */
  font-size: clamp(1.5rem, 3vw, 2.2rem); /* Smaller, clear and readable 1.5rem*/
  line-height: 1.3;
  letter-spacing: 0.1em;        /* Slightly spaced out */
  text-transform: uppercase;    /* All caps for style */
  color: #222222;               /* Medium gray for subtlety */
  margin: 0.5rem 0 0rem 0;      /* Some vertical spacing */
  text-align: left;
  user-select: none;              /* Optional: prevent highlight */
}


h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;             /* Bold but lighter than hero */
  font-size: clamp(1rem, 2.5vw, 1.8rem); /* Smaller, clear and readable 1.5rem*/
  line-height: 1.3;
  letter-spacing: 0.1em;        /* Slightly spaced out */
  text-transform: uppercase;    /* All caps for style */
  color: #555555;               /* Medium gray for subtlety */
  margin: 0.5rem 0 2rem 0;      /* Some vertical spacing */
  text-align: left;
  user-select: none;              /* Optional: prevent highlight */
}

p {
    padding: 0;
    margin-top: clamp(0.75rem, 2vw, 1.2rem);
    width: clamp(50%, 66vw, 100%);  /* Fluid scaling for larger screens */
}

@media (max-width: 900px) {
    p {
        width: 100%;  /* Switch to 100% for smaller screens */
    }
}

footer p {
  margin: 0px;
  font-size: clamp(0.5em, 1vw, 0.8em); /* shrink on mobile, stable on desktop */
}