/* Reconstructed layout stylesheet.
   The original build CSS was never captured by the archive (the reference
   pointed at a broken/unresolved build path). Every page element already
   carries its real design-token values as inline custom properties
   (--background-color, --grid-row, --padding, etc.) from the original
   page-builder export; these rules simply consume those tokens to restore
   the intended grid layout, spacing and colors. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  font-family: var(--body-font-family, 'Montserrat', sans-serif);
  color: rgb(53, 53, 53);
  background: #fff;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font-primary, 'Prata', serif); }
h6 {
  font-size: var(--h6-font-size); font-weight: var(--h6-font-weight);
  line-height: var(--h6-line-height); text-transform: var(--h6-text-transform);
}
p.body, .body { margin: 0 0 12px; line-height: 1.6; }
p.body:last-child { margin-bottom: 0; }

.page { position: relative; }

/* ---------- Header ---------- */
.sticky-trigger { position: absolute; top: 0; height: 1px; width: 100%; }
.block-header {
  position: relative;
  z-index: 40;
  width: 100%;
  padding: var(--m-padding, var(--padding));
}
.block-header--is-sticky { position: sticky; top: 0; }
.block-header .background {
  position: absolute; inset: 0;
  background-color: var(--background-color);
}
.block-header__content {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: var(--m-navigation-grid-template-columns, var(--navigation-grid-template-columns));
  max-width: var(--oldContentWidth, 1600px);
  margin: 0 auto;
}
.block-header-logo, .block-header__logo {
  grid-row: var(--m-logo-grid-row, var(--logo-grid-row));
  grid-column: var(--m-logo-grid-column, var(--logo-grid-column));
  justify-self: var(--m-logo-justify-self, var(--logo-justify-self));
  height: var(--m-height, var(--height));
  display: block;
}
.block-header-logo__image {
  height: 100%;
  width: auto;
  object-fit: contain;
  object-position: var(--m-logo-image-object-position, var(--logo-image-object-position));
}
.block-header__burger, .burger {
  grid-row: 1/2;
  justify-self: end;
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
}
.burger__bun, .burger__meat {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--burger-color, currentColor);
}
.block-header__nav {
  grid-row: var(--m-links-grid-row, var(--links-grid-row));
  grid-column: var(--m-links-grid-column, var(--links-grid-column));
  justify-self: var(--m-navigation-justify-self, var(--navigation-justify-self));
}
.block-header__links {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--m-menu-item-spacing, var(--menu-item-spacing));
  text-align: var(--m-navigation-text-align, var(--navigation-text-align));
}
.block-header-item__label { display: block; }
.item-content-wrapper { display: block; }
.item-content {
  display: block;
  font-family: var(--nav-link-font-family);
  font-size: var(--nav-link-m-font-size, var(--nav-link-font-size));
  font-weight: var(--nav-link-font-weight);
  letter-spacing: var(--nav-link-letter-spacing);
  text-transform: var(--nav-link-text-transform);
  color: var(--nav-link-text-color);
  padding: 8px 4px;
  transition: color .15s ease;
}
.item-content:hover, .item-content-wrapper--active .item-content {
  color: var(--nav-link-text-color-hover, #000);
}

@media (min-width: 961px) {
  .block-header { padding: var(--padding); }
  .block-header__content {
    grid-template-columns: var(--navigation-grid-template-columns);
  }
  .block-header-logo, .block-header__logo {
    grid-row: var(--logo-grid-row); grid-column: var(--logo-grid-column);
    justify-self: var(--logo-justify-self); height: var(--height);
  }
  .block-header__nav {
    grid-row: var(--links-grid-row); grid-column: var(--links-grid-column);
    justify-self: var(--navigation-justify-self);
  }
  .block-header__links { gap: var(--space-between-menu, var(--menu-item-spacing)); text-align: var(--navigation-text-align); }
  .block-header__burger { display: none; }
}
@media (max-width: 960px) {
  .block-header__burger { display: flex; }
  .block-header__nav { display: none; }
}

/* ---------- Blocks / sections ---------- */
.blocks { position: relative; }
.block {
  position: relative;
  width: 100%;
  padding: var(--m-block-padding, var(--block-padding));
  min-height: var(--m-block-min-height, var(--block-min-height));
}
.block-background {
  position: absolute; inset: 0; overflow: hidden;
  background-color: var(--background-color);
}
.block-background__image {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.block-background__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0, var(--background-overlay-opacity, 0));
}
.block-layout {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: var(--m-grid-template-columns, var(--grid-template-columns));
  grid-template-rows: var(--m-grid-template-rows, var(--grid-template-rows));
  min-height: var(--m-block-min-height, var(--block-min-height));
  max-width: var(--oldContentWidth, 1600px);
  margin: 0 auto;
  padding: var(--80a3d7f2, var(--0cffcf43));
}
.layout-element {
  grid-row: var(--m-grid-row, var(--grid-row));
  grid-column: var(--m-grid-column, var(--grid-column));
  z-index: var(--z-index, auto);
  min-width: 0;
  overflow-wrap: break-word;
  display: flex;
  flex-direction: column;
  align-items: var(--m-align, var(--align));
  justify-content: var(--m-justify, var(--justify));
  width: var(--m-width, 100%);
  text-align: var(--m-text, var(--text));
  margin: var(--m-element-margin, 0);
}
.text-box { width: 100%; }

@media (min-width: 961px) {
  .block {
    padding: var(--block-padding);
    min-height: var(--block-min-height);
  }
  .block-layout {
    grid-template-columns: var(--grid-template-columns);
    grid-template-rows: var(--grid-template-rows);
    min-height: var(--block-min-height);
    padding: var(--0cffcf43);
  }
  .layout-element {
    grid-row: var(--grid-row); grid-column: var(--grid-column);
    align-items: var(--align); justify-content: var(--justify);
    width: var(--width, 100%); text-align: var(--text);
  }
}

.block--footer .layout-element h6, .block--footer .layout-element p { color: #fff; }

/* Left-anchored content instead of centered-everything: reads less like a
   generic template, more like a page with an actual point of view. */
.layout-element {
  text-align: left;
  align-items: flex-start;
}
.text-box {
  max-width: 640px;
}
.block--footer .layout-element {
  text-align: left;
  align-items: flex-start;
}

/* Prevent invisible/unknown custom-element flash */
astro-island, astro-slot, astro-static-slot { display: contents; }
