:root {
  --nh-container: 1200px;
  --nh-gutter: clamp(1.25rem, 4vw, 2.5rem);
  --nh-section: clamp(4rem, 7vw, 7.5rem);
  --nh-radius: 1.25rem;
  --nh-radius-lg: 2rem;
  --nh-leaf-radius: clamp(4rem, 9vw, 8rem);
  --nh-shadow: 0 16px 44px rgba(66, 3, 28, 0.08);
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
:where(h1,h2,h3,h4,p,figure) { margin-block-start: 0; }
:where(h1,h2,h3) { text-wrap: balance; }
p { text-wrap: pretty; }

.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

.is-style-nordhov-section {
  padding-block: var(--nh-section);
}
.is-style-nordhov-card {
  border-radius: var(--nh-radius-lg);
  overflow: clip;
}
.is-style-nordhov-leaf,
.wp-block-image.is-style-nordhov-leaf img {
  border-radius: var(--nh-leaf-radius) 0 var(--nh-leaf-radius) 0;
  overflow: clip;
}

.nh-site-header {
  position: relative;
  z-index: 20;
  padding-block: 1.1rem;
}
.nh-site-header__inner,
.nh-site-footer__inner {
  width: min(100% - (2 * var(--nh-gutter)), var(--nh-container));
  margin-inline: auto;
}
.nh-site-header .wp-block-site-logo img { width: min(230px, 44vw); }

.nh-site-footer {
  padding-block: clamp(3rem, 6vw, 6rem);
  background: var(--wp--preset--color--plum);
  color: var(--wp--preset--color--white);
}

.nh-content-shell {
  width: min(100% - (2 * var(--nh-gutter)), var(--nh-container));
  margin-inline: auto;
}

.nh-editorial > * { max-width: 760px; margin-inline: auto; }
.nh-editorial > .alignwide { max-width: var(--nh-container); }
.nh-editorial > .alignfull { max-width: none; }

.wp-element-button { transition: transform .18s ease, background-color .18s ease; }
.wp-element-button:hover { transform: translateY(-1px); }
.wp-element-button:focus-visible,
a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--wp--preset--color--accent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; }
}
