:root {
  color-scheme: only light;
  --pink: #ff1fa9;
  --ink: #1a1a1a;
  --text: #333333;
  --muted: #555555;
  --line: #e5e5e5;
  --pale-pink: #fff0fa;
  --grid: 56px;
  --page-pad: clamp(24px, 5vw, 72px);
  --content-shell-edge: max(var(--page-pad), calc((100vw - 1120px) / 2));
}

* { box-sizing: border-box; }
html { background: #ffffff; color: var(--text); font-family: "Nunito", sans-serif; }
body { margin: 0; background: #ffffff; }
a { color: inherit; }

.content-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 76px;
  padding: 0 var(--page-pad);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid #eeeeee;
}

.content-wordmark {
  color: var(--ink);
  font-family: "Carter One", cursive;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
}

.content-wordmark span { color: var(--pink); }

.content-main { position: relative; overflow: hidden; isolation: isolate; }
.content-main::before,
.content-main::after {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  pointer-events: none;
}

.content-main::before {
  background-image:
    linear-gradient(to right, var(--pink) 1px, transparent 1px),
    linear-gradient(to bottom, var(--pink) 1px, transparent 1px);
  background-position: var(--content-shell-edge) var(--breadcrumb-bar-height);
  background-size: var(--grid) var(--grid);
  opacity: 0.07;
  -webkit-mask-image: linear-gradient(150deg, #000 0, rgba(0, 0, 0, 0.7) 28%, transparent 68%);
  mask-image: linear-gradient(150deg, #000 0, rgba(0, 0, 0, 0.7) 28%, transparent 68%);
}

.content-main::after {
  z-index: -1;
  background: radial-gradient(circle at 75% 210px, rgba(255, 31, 169, 0.12), transparent 360px);
}

.content-shell { width: min(calc(100% - (2 * var(--page-pad))), 1120px); margin: 0 auto; }

.content-hero {
  min-height: calc(var(--grid) * 11);
  padding: var(--grid) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.7fr);
  align-items: center;
  gap: clamp(48px, 8vw, 112px);
}

.content-hero h1,
.content-section h2,
.content-section h3,
.content-final h2 {
  margin-top: 0;
  color: var(--ink);
  font-family: "Carter One", cursive;
  font-weight: 400;
}

.content-hero h1 {
  max-width: 820px;
  margin-bottom: 24px;
  font-size: clamp(44px, 6.2vw, 78px);
  line-height: 1.04;
  text-wrap: balance;
}

.content-lead { max-width: 700px; margin: 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.5; }
.content-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 32px; }
.content-section[id] { scroll-margin-top: calc(var(--tienvoud-site-header-height) + var(--breadcrumb-bar-height) + 24px); }
.content-button {
  display: inline-block;
  padding: 13px 22px;
  border: 3px solid var(--pink);
  background: var(--pink);
  color: #ffffff;
  box-shadow: 7px 7px 0 rgba(255, 31, 169, 0.17);
  font-family: "Carter One", cursive;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.content-button.secondary { background: #ffffff; color: var(--ink); box-shadow: none; }
.content-button:hover,
.content-button:focus-visible { background: var(--pale-pink); color: var(--ink); }
.content-button.secondary:hover,
.content-button.secondary:focus-visible { box-shadow: none; }
.content-button:focus-visible,
.content-wordmark:focus-visible,
.content-breadcrumb a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }

.content-mark { position: relative; width: calc(var(--grid) * 5); aspect-ratio: 1; margin-top: calc(var(--grid) * 2); align-self: start; justify-self: end; }
.content-mark span { position: absolute; border: 3px solid var(--pink); }
.content-mark span:first-child { inset: 0; }
.content-mark span:nth-child(2) { top: calc(var(--grid) * 2); right: 0; bottom: 0; left: calc(var(--grid) * 2); background: var(--pale-pink); }
.content-mark span:last-child { right: 0; bottom: 0; width: var(--grid); height: var(--grid); border: 0; background: var(--pink); }

@media (prefers-reduced-motion: reduce) { .content-button { transition: none; } }

@media (max-width: 760px) {
  :root { --page-pad: 24px; --grid: 48px; }
  .content-header { min-height: 72px; }
  .content-wordmark { font-size: 28px; }
  .content-hero { min-height: 0; padding: 52px 0 76px; display: block; }
  .content-hero h1 { font-size: clamp(42px, 12vw, 62px); }
  .content-mark { display: none !important; }
  .content-actions { align-items: stretch; flex-direction: column; }
  .content-button { width: 100%; text-align: center; }
}

.content-main .content-shell{width:var(--page-grid-width,min(calc(100% - 48px),1120px))}
.content-main .content-hero{display:grid;min-height:0;padding:var(--grid) 0;gap:var(--grid);align-items:start}
.content-main .content-mark{margin:0;justify-self:start}
.content-main .content-section{padding-block:var(--grid)}
.content-actions .content-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--grid);padding:10px 16px;line-height:1.25}
