/* Normalize the elements used by Pomodoro; each component owns its spacing. */
@layer reset {
  *, *::before, *::after { box-sizing:border-box; }
  html { -webkit-text-size-adjust:none; text-size-adjust:none; }
  :where(body, h1, h2, h3, p, figure, ul, ol, li, button, input, textarea, select) {
    margin:0;
    padding:0;
  }
  :where(h1, h2, h3, strong, b, em, i, button, input, textarea, select) { font:inherit; }
  :where(a) { color:inherit; text-decoration:none; }
  :where(ul, ol, summary) { list-style:none; }
  :where(button, input, textarea, select) {
    appearance:none;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    color:inherit;
    text-align:inherit;
    text-transform:inherit;
    letter-spacing:inherit;
    text-rendering:inherit;
  }
  :where(input, textarea) { -webkit-user-select:auto; user-select:auto; }
  :where(textarea) { white-space:pre-wrap; }
  ::placeholder { color:inherit; }
  img { max-inline-size:100%; max-block-size:100%; }
  :where([hidden]) { display:none; }
  ::-webkit-details-marker { display:none; }
}

/* Full-width artwork shares one named content band with the page. */
:root { --pg-frame-gutter:5.333vw; }
@media (min-width:501px) { :root { --pg-frame-gutter:2.930vw; } }
@media (min-width:1025px) { :root { --pg-frame-gutter:2.083vw; } }
@media (min-width:1601px) { :root { --pg-frame-gutter:33.33px; } }

html, body { background:#f0e8dc; }
body {
  margin:0;
  overflow-x:hidden;
  color:#000;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricprecision;
}
.pg-site {
  display:grid;
  grid-template-columns:
    [fullbleed-start] var(--pg-frame-gutter)
    [main-start] minmax(0,1fr)
    [main-end] var(--pg-frame-gutter) [fullbleed-end];
  grid-template-rows:auto auto auto 1fr;
  min-height:100lvh;
  isolation:isolate;
  background:#f0e8dc;
  color:#fff;
}
#pg-content-shell,
#pg-content-stage,
.pg-page-section {
  display:grid;
  grid-column:fullbleed;
  grid-template-columns:subgrid;
}
#pg-content-shell {
  grid-template-rows:1fr auto;
  isolation:isolate;
  overflow:clip;
  transform-origin:top center;
  color:#000;
  background:#f0e8dc;
}
#pg-content-stage { background:#f0e8dc; }
.pg-page-section { max-width:100vw; }

/* Document pages fill the visible screen, with the footer in the final row.
   The content row grows on short pages and expands normally on long pages. */
.pg-site:not([data-page="home"]) {
  min-height:100dvh;
  grid-template-rows:auto auto minmax(auto,1fr);
}
.pg-site:not([data-page="home"]) #pg-content-shell {
  grid-template-rows:minmax(auto,1fr);
}
.pg-site:not([data-page="home"]) #pg-content-stage {
  grid-template-rows:minmax(auto,1fr) auto;
}

/* Keep scroll locking and embedded-content behavior while Lenis is active. */
html.lenis, html.lenis body { height:auto; }
.lenis.lenis-stopped body { overflow:hidden; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
.lenis.lenis-smooth iframe { pointer-events:none; }
