/* philmin.com — layout matched to wedding_final.pdf (1728px design frame).
   Colors and --font-body come from /theme.css (CRM-controlled). */

@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-RegularItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pitch';
  src: url('/static/fonts/Pitch-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  background: var(--bg, #FFFEFC);
  color: var(--ink, #000);
  font-family: var(--font-body, 'Pitch'), 'Pitch', ui-monospace, 'Courier New', monospace;
  font-size: 18px;
  line-height: 23px;
  -webkit-font-smoothing: antialiased;
}

.wrap { padding: 47px 40px 110px 45px; }

/* Header: script logo top-left, nav row beneath */
.logo { display: inline-block; }
.logo img { display: block; height: 42px; width: auto; }

nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 70px;
  margin-top: 24px;
}
nav a {
  color: var(--muted, #B2B1AF);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
nav a.active { color: var(--ink, #000); }
nav a:hover { color: var(--ink, #000); }

/* Content column hugs the left edge; width set per page */
main { margin-top: 63px; }
.page-home main { margin-top: 19px; }

h2 {
  font-size: 18px;
  line-height: 23px;
  font-weight: 700;
  margin: 0;
}

p { margin: 5px 0 0; }
p + p { margin-top: 14px; }

/* Gap between sections is per-page data, edited in the CRM ("Section spacing") */
section + section { margin-top: var(--section-gap, 46px); }
.page-stay section p { margin-top: 12px; }
.page-date section p { margin-top: 0; }
.page-date section:last-of-type { margin-top: 64px; }

/* Images placed in section bodies via ![alt](/media/...) */
section p img {
  display: block;
  width: var(--img-size, auto);
  max-width: min(var(--img-size, 480px), 100%);
  height: auto;
  margin: 8px 0;
}

/* A linked image is an icon: [![Map](/static/img/icons/map.svg)](url) */
section p a img {
  display: inline-block;
  height: var(--img-size, 26px);
  width: auto;
  max-width: none;
  margin: 6px 16px 0 0;
  vertical-align: middle;
}
section p a:hover img { opacity: 0.55; }

ul { margin: 13px 0 0; padding-left: 22px; }
li + li { margin-top: 12px; }
ul + ul { margin-top: 27px; }

a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

strong { font-weight: 700; }

/* Home hero: photo with handwritten scribble overlay */
.hero {
  margin: 0;
  position: relative;
  width: min(480px, 100%);
}
.hero-photo { display: block; width: 100%; height: auto; }
.hero-scribble {
  position: absolute;
  height: auto;
  transform-origin: left bottom;
  pointer-events: none;
}
.page-home .hero + section { margin-top: 26px; }
.page-home section p { margin-top: 21px; line-height: 22px; max-width: 458px; }

@media (max-width: 640px) {
  .wrap { padding: 28px 20px 70px; }
  .logo img { height: 34px; }
  nav { gap: 8px 24px; margin-top: 22px; }
  main { margin-top: 40px; }
  body { font-size: 16px; line-height: 21px; }
  h2 { font-size: 16px; line-height: 21px; }
}
