/* ============================================================
   Graf Pfeil Advisory — One-pager (temporary site)
   ============================================================ */
@import "tokens/colors.css";
@import "tokens/typography.css";
@import "tokens/spacing.css";

/* ---------- Base ---------- */
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  color: var(--text-primary);
  background-color: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Faint paper texture: a single subtle vertical hairline grid, very low contrast */
/* 
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(90deg, rgba(26,26,26,0.025) 1px, transparent 1px);
  background-size: 96px 100%;
  z-index: 0;
}
 */
.page-shell { position: relative; z-index: 1; display: flex; flex-direction: column; flex: 1 0 auto; }

a { color: inherit; text-decoration: none; }

svg {
	shape-rendering: geometricPrecision;
	text-rendering: geometricPrecision;
	image-rendering: auto;
	transform: rotate(0.01deg);
}

/* ---------- The red square: brand punctuation ---------- */
.gp-square {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--accent);
  vertical-align: baseline;
  margin-left: 0.1em;
}

/* ---------- Header ---------- */
.gp-header {
  padding: var(--space-5) 0;
  border-bottom: var(--hairline);
  background-color: #F4F2ED;
}
.gp-nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: flex-start;
}
.gp-nav a {
  font-size: var(--fs-small);
  font-weight: var(--fw-regular);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.gp-nav a:hover,
.gp-nav a.is-active { color: var(--text-primary); border-bottom-color: var(--accent); }

.gp-nav-back {
  font-size: var(--fs-small);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.gp-nav-back:hover { color: var(--text-primary); border-bottom-color: var(--accent); }

.gp-logo { height: 40px; width: 240px; display: block; 
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 240 40' style='enable-background:new 0 0 240 40;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Benable-background:new;%7D .st1%7Bfill:%23AD2226;%7D%0A%3C/style%3E%3Cg%3E%3Cg class='st0'%3E%3Cpath d='M13.8,21.2c-1.2,0.5-2.5,0.8-3.7,0.8c-1.6,0-3-0.3-4.2-0.9s-2.3-1.4-3.2-2.3s-1.5-2.1-2-3.4c-0.4-1.3-0.6-2.6-0.6-4 c0-1.5,0.2-3,0.6-4.4s1-2.6,1.9-3.6s1.9-1.9,3.1-2.5S8.3,0,10.1,0c1.1,0,2.2,0.1,3.2,0.4s1.9,0.7,2.7,1.2s1.4,1.3,2,2.2 c0.5,0.9,0.9,1.9,1.1,3.2h-2.8c-0.1-0.8-0.4-1.5-0.8-2.1c-0.4-0.6-0.8-1-1.4-1.4c-0.6-0.4-1.2-0.6-1.9-0.8S10.8,2.4,10,2.4 c-1.3,0-2.4,0.2-3.3,0.8S5,4.4,4.4,5.2C4,5.9,3.5,6.9,3.2,7.9C3,9,2.8,10.1,2.8,11.2s0.2,2.2,0.5,3.2s0.8,1.9,1.4,2.7 c0.6,0.8,1.4,1.4,2.2,1.8c0.9,0.4,1.9,0.7,3.1,0.7c1.1,0,2.1-0.2,2.9-0.5c0.8-0.4,1.6-0.8,2.1-1.4c0.6-0.6,1-1.3,1.3-2.2 c0.3-0.8,0.4-1.7,0.4-2.7h-6.7v-2.4h9.3v11.1h-1.8l-0.7-2.6C16,20,15,20.8,13.8,21.2L13.8,21.2z'/%3E%3Cpath d='M25.8,6.3v3.2l0,0c0.6-1.2,1.4-2.2,2.2-2.7c0.9-0.6,2-0.9,3.4-0.8v2.6c-1,0-1.8,0.1-2.6,0.4c-0.7,0.3-1.3,0.7-1.7,1.2 s-0.8,1.2-0.9,1.9c-0.2,0.8-0.3,1.6-0.3,2.6v6.8h-2.5V6.3H25.8z'/%3E%3Cpath d='M47.1,21.4c-0.4,0.2-1,0.4-1.8,0.4c-0.6,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.8c-0.7,0.8-1.5,1.4-2.4,1.8 c-0.9,0.4-1.9,0.6-3,0.6c-0.7,0-1.3-0.1-2-0.2c-0.6-0.2-1.2-0.4-1.6-0.7c-0.4-0.3-0.8-0.8-1.1-1.3c-0.3-0.5-0.4-1.2-0.4-2 c0-0.9,0.2-1.6,0.4-2.1c0.3-0.6,0.7-1,1.2-1.3c0.5-0.4,1-0.6,1.6-0.8s1.2-0.3,1.9-0.4c0.7-0.1,1.3-0.2,2-0.3 c0.6-0.1,1.2-0.2,1.6-0.3c0.4-0.1,0.8-0.3,1.1-0.6c0.3-0.3,0.4-0.6,0.4-1.1c0-0.6-0.1-1-0.3-1.3c-0.2-0.3-0.5-0.6-0.8-0.8 s-0.7-0.3-1.1-0.4c-0.4,0-0.8-0.1-1.2-0.1c-1,0-1.9,0.2-2.6,0.6C36,9.1,35.6,9.9,35.5,11h-2.3c0-0.9,0.2-1.7,0.6-2.4 C34.2,8,34.6,7.4,35.2,7s1.2-0.7,2-0.9C38,6.1,38.8,6,39.6,6c0.7,0,1.4,0,2,0.2c0.7,0.1,1.3,0.3,1.8,0.6s1,0.7,1.3,1.3 c0.3,0.6,0.5,1.3,0.5,2.1V18c0,0.6,0,1,0.1,1.3s0.3,0.4,0.7,0.4c0.2,0,0.5,0,0.8-0.1L47.1,21.4L47.1,21.4z M43,13.7 c-0.3,0.2-0.7,0.4-1.2,0.5s-1,0.2-1.6,0.3s-1.1,0.2-1.7,0.2c-0.6,0.1-1.1,0.2-1.5,0.4c-0.4,0.2-0.8,0.5-1.1,0.8 c-0.3,0.4-0.4,0.8-0.4,1.5c0,0.4,0.1,0.8,0.2,1c0.2,0.3,0.4,0.5,0.6,0.7c0.3,0.2,0.6,0.3,0.9,0.4c0.4,0,0.8,0,1.2,0 c0.8,0,1.5-0.1,2.1-0.3c0.6-0.2,1.1-0.5,1.4-0.8c0.4-0.4,0.6-0.7,0.8-1.1s0.3-0.8,0.3-1.1V13.7L43,13.7z'/%3E%3Cpath d='M47.9,8.5V6.3h2.6V4c0-1.2,0.4-2.2,1.1-2.8s1.8-1,3.1-1c0.2,0,0.5,0,0.8,0c0.3,0,0.6,0.1,0.8,0.2v2.2 c-0.2-0.1-0.4-0.1-0.7-0.2c-0.2,0-0.5,0-0.7,0c-0.6,0-1.1,0.1-1.4,0.4C53.2,3,53,3.5,53,4.2v2.1h2.9v2.2H53v13h-2.5v-13H47.9z'/%3E%3Cpath d='M78,0.5c2.1,0,3.7,0.6,4.8,1.6s1.7,2.6,1.7,4.6s-0.6,3.5-1.6,4.6s-2.7,1.6-4.8,1.6h-6.4v8.6h-2.8v-21H78z M77,10.5 c1.6,0,2.8-0.3,3.5-1c0.7-0.7,1.1-1.6,1.1-2.9s-0.4-2.1-1.2-2.8c-0.8-0.7-1.9-1-3.5-1h-5.5v7.7H77z'/%3E%3Cpath d='M86.4,8.5V6.3H89V4c0-1.2,0.4-2.2,1.1-2.8c0.7-0.6,1.8-1,3.1-1c0.2,0,0.5,0,0.8,0s0.6,0.1,0.8,0.2v2.2 c-0.2-0.1-0.4-0.1-0.7-0.2c-0.2,0-0.5,0-0.7,0c-0.6,0-1.1,0.1-1.4,0.4c-0.4,0.2-0.5,0.6-0.5,1.3v2.1h2.9v2.2h-2.9v13H89V8.5H86.4z '/%3E%3Cpath d='M107.3,20.5c-1.1,0.9-2.6,1.3-4.3,1.3c-1.2,0-2.3-0.2-3.2-0.6c-0.9-0.4-1.6-0.9-2.2-1.6c-0.6-0.7-1-1.6-1.3-2.6 s-0.5-2-0.5-3.2s0.2-2.2,0.5-3.2s0.8-1.8,1.5-2.5c0.6-0.7,1.4-1.2,2.3-1.6c0.9-0.4,1.8-0.6,2.9-0.6c1.4,0,2.5,0.3,3.4,0.8 c0.9,0.5,1.6,1.3,2.2,2.1c0.5,0.9,0.9,1.8,1.1,2.8c0.2,1,0.3,2,0.2,2.9H98.4c0,0.7,0,1.3,0.2,1.9c0.2,0.6,0.4,1.1,0.8,1.6 s0.9,0.8,1.5,1.1c0.6,0.3,1.3,0.4,2.2,0.4c1,0,1.9-0.2,2.6-0.7c0.7-0.5,1.1-1.2,1.3-2.2h2.5C109.2,18.4,108.5,19.7,107.3,20.5 L107.3,20.5z M106.7,10.8c-0.2-0.5-0.5-1-0.9-1.4s-0.8-0.7-1.4-0.9c-0.5-0.2-1.1-0.3-1.7-0.3s-1.2,0.1-1.8,0.3 c-0.5,0.2-1,0.5-1.3,0.9s-0.7,0.8-0.9,1.4s-0.4,1.1-0.4,1.6h8.8C107.1,11.9,106.9,11.3,106.7,10.8L106.7,10.8z'/%3E%3Cpath d='M112.9,3.6V0.5h2.5v3L112.9,3.6L112.9,3.6z M115.4,6.3v15.2h-2.5V6.3H115.4z'/%3E%3Cpath d='M121.9,0.5v21h-2.5v-21H121.9z'/%3E%3Cpath d='M142.2,0.5h1.4l8.3,21h-1.4l-2.6-6.7h-10.2l-2.7,6.7h-1.4L142.2,0.5z M147.5,13.7l-4.5-11.9l0,0l-4.7,11.9H147.5z'/%3E%3Cpath d='M165,18.3L165,18.3c-0.7,1.2-1.4,2.1-2.4,2.7c-0.9,0.6-2.1,0.9-3.4,0.9c-1.1,0-2.1-0.2-2.9-0.6c-0.8-0.4-1.5-1-2-1.7 s-0.9-1.6-1.2-2.5c-0.2-1-0.4-2-0.4-3c0-1.1,0.1-2.2,0.4-3.1c0.3-0.9,0.7-1.8,1.2-2.5c0.6-0.7,1.2-1.3,2.1-1.7 c0.8-0.4,1.8-0.6,3-0.6c0.6,0,1.2,0.1,1.8,0.2c0.6,0.2,1.1,0.4,1.6,0.7c0.5,0.3,0.9,0.7,1.3,1.2c0.4,0.5,0.6,1,0.8,1.6l0,0V0.5 h1.1v21h-1V18.3L165,18.3z M159.3,20.9c1,0,1.8-0.2,2.5-0.6c0.7-0.4,1.3-0.9,1.7-1.6c0.5-0.6,0.8-1.4,1-2.2 c0.2-0.8,0.3-1.7,0.3-2.5c0-0.9-0.1-1.7-0.3-2.6c-0.2-0.8-0.6-1.6-1-2.2c-0.4-0.6-1-1.2-1.8-1.6C161,7.2,160.1,7,159.2,7 c-1,0-1.8,0.2-2.6,0.6c-0.7,0.4-1.3,0.9-1.8,1.6c-0.5,0.6-0.8,1.4-1,2.2s-0.3,1.7-0.3,2.6s0.1,1.7,0.3,2.6c0.2,0.8,0.6,1.6,1,2.2 c0.5,0.6,1,1.2,1.8,1.6C157.5,20.7,158.3,20.9,159.3,20.9L159.3,20.9z'/%3E%3Cpath d='M175.7,21.5h-1.4l-6.1-15.1h1.3l5.5,13.8l0,0l5.1-13.8h1.2L175.7,21.5z'/%3E%3Cpath d='M183.6,3.5v-3h1.1v3H183.6z M183.6,21.5V6.4h1.1v15.1H183.6L183.6,21.5z'/%3E%3Cpath d='M188.8,16.5c0,0.7,0.2,1.3,0.5,1.9c0.3,0.5,0.6,1,1.1,1.4c0.4,0.4,1,0.7,1.6,0.9c0.6,0.2,1.2,0.3,1.9,0.3 c0.5,0,1,0,1.6-0.1c0.6-0.1,1.1-0.2,1.6-0.5c0.5-0.2,0.9-0.6,1.2-1c0.3-0.4,0.5-1,0.5-1.6c0-0.8-0.2-1.5-0.8-1.9 c-0.5-0.4-1.2-0.8-1.9-1c-0.8-0.2-1.6-0.4-2.5-0.6c-0.9-0.2-1.7-0.4-2.5-0.7c-0.8-0.3-1.4-0.7-1.9-1.2s-0.8-1.3-0.8-2.4 c0-0.8,0.2-1.4,0.5-1.9c0.3-0.5,0.8-0.9,1.3-1.2c0.5-0.3,1.1-0.5,1.8-0.6c0.6-0.1,1.3-0.2,1.9-0.2c0.8,0,1.5,0.1,2.2,0.3 c0.7,0.2,1.3,0.5,1.8,0.8c0.5,0.4,0.9,0.9,1.2,1.5c0.3,0.6,0.4,1.4,0.4,2.2h-1.1c0-0.7-0.1-1.3-0.3-1.8s-0.5-0.9-0.9-1.2 s-0.9-0.5-1.4-0.7C195.2,7,194.7,7,194,7c-0.5,0-1,0-1.6,0.2c-0.5,0.1-1,0.3-1.4,0.5s-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.4 c0,0.6,0.2,1.1,0.4,1.5c0.3,0.4,0.7,0.7,1.2,0.9s1,0.4,1.6,0.6c0.6,0.1,1.2,0.3,1.8,0.4c0.8,0.1,1.4,0.3,2.1,0.5 c0.6,0.2,1.2,0.4,1.7,0.8c0.5,0.4,0.8,0.7,1.1,1.2c0.3,0.5,0.4,1.2,0.4,1.9c0,0.8-0.2,1.5-0.6,2c-0.4,0.5-0.8,1-1.4,1.3 s-1.2,0.6-1.9,0.7s-1.4,0.2-2,0.2c-0.9,0-1.6-0.1-2.4-0.3c-0.7-0.2-1.4-0.6-1.9-1c-0.6-0.4-1-1-1.3-1.7c-0.3-0.7-0.5-1.4-0.5-2.3 L188.8,16.5L188.8,16.5z'/%3E%3Cpath d='M201.8,13.9c0-1.1,0.2-2.1,0.4-3c0.3-1,0.8-1.8,1.3-2.5c0.6-0.7,1.3-1.3,2.2-1.7c0.9-0.4,1.8-0.6,3-0.6s2.1,0.2,3,0.6 c0.9,0.4,1.6,1,2.2,1.7s1,1.6,1.3,2.5c0.3,1,0.4,2,0.4,3s-0.2,2.1-0.4,3c-0.3,1-0.8,1.8-1.3,2.5c-0.6,0.7-1.3,1.3-2.2,1.7 c-0.9,0.4-1.8,0.6-3,0.6s-2.1-0.2-3-0.6s-1.6-1-2.2-1.7s-1-1.6-1.3-2.5C201.9,16,201.8,15,201.8,13.9L201.8,13.9z M202.9,13.9 c0,0.9,0.1,1.8,0.4,2.6c0.2,0.8,0.6,1.6,1.1,2.2c0.5,0.6,1.1,1.2,1.8,1.6c0.7,0.4,1.6,0.6,2.5,0.6s1.8-0.2,2.5-0.6 s1.3-0.9,1.8-1.6c0.5-0.6,0.9-1.4,1.1-2.2c0.2-0.8,0.4-1.7,0.4-2.6c0-0.9-0.1-1.8-0.4-2.6c-0.2-0.8-0.6-1.6-1.1-2.2 c-0.5-0.6-1.1-1.2-1.8-1.6s-1.6-0.6-2.5-0.6s-1.8,0.2-2.5,0.6c-0.7,0.4-1.3,0.9-1.8,1.6c-0.5,0.6-0.9,1.4-1.1,2.2 C203,12.2,202.9,13,202.9,13.9L202.9,13.9z'/%3E%3Cpath d='M219.7,9.7L219.7,9.7c0.2-0.5,0.5-1,0.8-1.4c0.4-0.4,0.8-0.8,1.3-1.1s1.1-0.6,1.7-0.7c0.6-0.2,1.3-0.2,2-0.2v1.1 c-0.6-0.1-1.2,0-2,0.2c-0.8,0.2-1.5,0.6-2.2,1.3c-0.3,0.3-0.5,0.6-0.7,0.8c-0.2,0.3-0.4,0.6-0.5,0.9c-0.1,0.3-0.2,0.7-0.3,1.1 c-0.1,0.4-0.1,0.9-0.2,1.5v8.3h-1.1V6.4h1.1v3.3H219.7z'/%3E%3Cpath d='M226.5,6.4h1.3l5.6,13.8l5.2-13.8h1.3l-6.5,16.8c-0.3,0.8-0.6,1.4-0.9,1.9s-0.6,0.9-0.9,1.2c-0.4,0.3-0.8,0.5-1.4,0.6 c-0.5,0.1-1.2,0.1-2.1,0.1v-1c0.8,0,1.4-0.1,1.9-0.2c0.4-0.1,0.9-0.4,1.3-0.8c0.2-0.2,0.4-0.6,0.7-1.2c0.2-0.6,0.5-1.4,0.9-2.4 L226.5,6.4z'/%3E%3C/g%3E%3Cpath d='M57.7,32.4V33h-2.6v6.9h-0.8V33h-2.6v-0.6H57.7z'/%3E%3Cpath d='M62.3,32.4v3.2h4.4v-3.2h0.7v7.5h-0.7v-3.6h-4.4v3.6h-0.7v-7.5H62.3z'/%3E%3Cpath d='M72.8,32.4v7.5h-0.7v-7.5H72.8z'/%3E%3Cpath d='M78.4,32.4l4.4,6.3l0,0v-6.3h0.7v7.5h-0.8l-4.4-6.3l0,0v6.3h-0.7v-7.5H78.4z'/%3E%3Cpath d='M88.8,32.4v4l4.4-4h1l-3.4,3.1l3.5,4.4h-0.9L90.2,36l-1.4,1.3v2.6h-0.7v-7.5C88.1,32.4,88.8,32.4,88.8,32.4z'/%3E%3Cpath d='M107.2,32.4l2.9,7.5h-0.8l-0.9-2.3H105l-0.9,2.3h-0.8l3-7.5H107.2z M108.2,36.9l-1.4-3.8l-1.5,3.8H108.2z'/%3E%3Cpath d='M114.8,32.4v3.2h4.4v-3.2h0.7v7.5h-0.7v-3.6h-4.4v3.6h-0.7v-7.5H114.8z'/%3E%3Cpath d='M129.9,32.4V33h-4.4v2.7h4.2v0.6h-4.2v3h4.5v0.6h-5.3v-7.5C124.6,32.4,129.9,32.4,129.9,32.4z'/%3E%3Cpath d='M137.3,32.4l2.9,7.5h-0.8l-0.9-2.3h-3.4l-0.9,2.3h-0.8l3-7.5H137.3z M138.3,36.9l-1.4-3.8l-1.5,3.8H138.3z'/%3E%3Cpath d='M146.8,32.4c1.1,0,2,0.4,2.6,1c0.6,0.6,0.9,1.5,0.9,2.8c0,1.2-0.3,2.2-0.9,2.8s-1.4,0.9-2.6,1h-2.6v-7.5L146.8,32.4 L146.8,32.4z M146.4,39.3c0.5,0,1,0,1.4-0.2c0.4-0.1,0.7-0.3,1-0.6c0.2-0.2,0.4-0.6,0.6-1c0.1-0.4,0.2-0.9,0.2-1.4s0-1-0.2-1.4 c-0.2-0.4-0.3-0.7-0.6-1c-0.2-0.2-0.6-0.4-1-0.6c-0.4-0.1-0.8-0.2-1.4-0.2h-1.5v6.3L146.4,39.3z'/%3E%3Cpath d='M170.5,32.4l2.9,7.5h-0.8l-0.9-2.3h-3.4l-0.9,2.3h-0.8l3-7.5H170.5z M171.5,36.9l-1.4-3.8l-1.5,3.8H171.5z'/%3E%3Cpath d='M182.2,33.9c-0.2-0.2-0.3-0.4-0.5-0.6c-0.2-0.2-0.4-0.3-0.7-0.4c-0.2-0.1-0.5-0.1-0.8-0.1c-0.5,0-0.9,0.1-1.3,0.3 s-0.6,0.4-0.9,0.8c-0.2,0.3-0.4,0.7-0.5,1c-0.1,0.4-0.2,0.8-0.2,1.2s0,0.8,0.2,1.2c0.1,0.4,0.3,0.8,0.5,1c0.2,0.3,0.5,0.6,0.9,0.8 s0.8,0.3,1.3,0.3c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.3,0.7-0.5s0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-0.9h0.7c0,0.5-0.2,0.9-0.3,1.2 c-0.2,0.4-0.4,0.7-0.6,1c-0.3,0.2-0.6,0.4-0.9,0.6c-0.4,0.1-0.8,0.2-1.2,0.2c-0.6,0-1.1-0.1-1.6-0.3c-0.4-0.2-0.8-0.5-1.1-0.8 c-0.3-0.4-0.5-0.8-0.7-1.2c-0.2-0.5-0.2-1-0.2-1.5s0.1-1,0.2-1.5c0.2-0.5,0.4-0.9,0.7-1.2c0.3-0.4,0.7-0.6,1.1-0.9 c0.4-0.2,1-0.3,1.6-0.3c0.4,0,0.7,0,1,0.2c0.3,0.1,0.6,0.3,0.9,0.5c0.3,0.2,0.5,0.5,0.7,0.8c0.2,0.3,0.3,0.6,0.4,1h-0.7 C182.4,34.3,182.3,34.1,182.2,33.9L182.2,33.9z'/%3E%3Cpath d='M192.5,32.4V33h-2.6v6.9h-0.7V33h-2.6v-0.6H192.5z'/%3E%3Cpath d='M203.3,32.4l4.4,6.3l0,0v-6.3h0.7v7.5h-0.8l-4.4-6.3l0,0v6.3h-0.7v-7.5H203.3z'/%3E%3Cpath d='M212.9,34.6c0.2-0.5,0.4-0.9,0.7-1.2c0.3-0.4,0.7-0.6,1.1-0.9c0.4-0.2,1-0.3,1.6-0.3c0.6,0,1.1,0.1,1.6,0.3 c0.4,0.2,0.8,0.5,1.1,0.9c0.3,0.4,0.5,0.8,0.7,1.2s0.2,1,0.2,1.5s-0.1,1-0.2,1.5c-0.1,0.5-0.4,0.9-0.7,1.2 c-0.3,0.4-0.7,0.6-1.1,0.8c-0.4,0.2-1,0.3-1.6,0.3c-0.6,0-1.1-0.1-1.6-0.3c-0.4-0.2-0.8-0.5-1.1-0.8c-0.3-0.4-0.5-0.8-0.7-1.2 c-0.2-0.5-0.2-1-0.2-1.5C212.6,35.6,212.7,35.1,212.9,34.6z M213.5,37.3c0.1,0.4,0.3,0.8,0.5,1c0.2,0.3,0.5,0.6,0.9,0.8 s0.8,0.3,1.3,0.3s0.9-0.1,1.3-0.3s0.6-0.4,0.9-0.8c0.2-0.3,0.4-0.7,0.5-1c0.1-0.4,0.2-0.8,0.2-1.2s0-0.8-0.2-1.2 c-0.1-0.4-0.3-0.8-0.5-1c-0.2-0.3-0.5-0.6-0.9-0.8s-0.8-0.3-1.3-0.3s-0.9,0.1-1.3,0.3s-0.6,0.4-0.9,0.8c-0.2,0.3-0.4,0.7-0.5,1 c-0.1,0.4-0.2,0.8-0.2,1.2S213.4,36.9,213.5,37.3z'/%3E%3Cpath d='M223.9,32.4l1.7,6.6l0,0l1.8-6.6h0.9l1.8,6.6l0,0l1.7-6.6h0.7l-2.1,7.5h-0.8l-1.9-6.7l0,0l-1.9,6.7H225l-2.1-7.5H223.9z'/%3E%3Cg%3E%3Cpath class='st1' d='M154.6,36.9h3v3h-3V36.9z'/%3E%3Cpath class='st1' d='M236.2,36.9h3v3h-3V36.9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
background-repeat: no-repeat no-repeat;
background-position: center center;
background-size: cover;
}
/* @media (min-width: 768px) { .gp-logo { height: 40px; } } */

/* mobile nav toggle uses Bootstrap collapse; keep it minimal */
.gp-toggle {
  border: var(--hairline);
  background: transparent;
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
}
.gp-toggle span, .gp-toggle span::before, .gp-toggle span::after {
  content: ""; display: block; width: 18px; height: 1.5px; background: var(--gp-black); position: relative;
}
.gp-toggle span::before { position: absolute; top: -6px; }
.gp-toggle span::after  { position: absolute; top: 6px; }

/* ---------- Hero (text-only, line-by-line reveal) ---------- */
.gp-hero {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
  padding: var(--space-9) 0;
  position: relative;
  overflow: hidden;
}
/* .gp-hero-stage { max-width: 24ch; } */
.gp-eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-regular);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 0.1em;
  margin-bottom: var(--space-5);
}
.gp-eyebrow .gp-square { width: 0.5em; height: 0.5em; margin: 0 0.15em 0 0.1em; }

.gp-hero-title {
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-size: clamp(2rem, 2.8vw + 1rem, 3.6rem);
  line-height: 1.12;
  letter-spacing: var(--ls-tight);
  color: var(--text-primary);
  margin: 0;
}
.gp-hero-title .gp-line { display: block; }
.gp-hero-title strong { font-weight: var(--fw-regular); }
.gp-hero-title .accent { color: var(--accent); }

.gp-hero-sub {
  font-weight: var(--fw-light);
  font-size: var(--fs-lead);
  line-height: var(--lh-normal);
  color: var(--text-secondary);
  max-width: 46ch;
  margin-top: var(--space-6);
}

/* Line-by-line entrance: each .gp-line fades + rises in sequence */
.gp-line { will-change: opacity, transform; }
@media (prefers-reduced-motion: no-preference) {
  .gp-hero[data-in] .gp-line {
    opacity: 0;
    transform: translateY(14px);
    animation: gp-line-in var(--dur-slow) var(--ease-out) forwards;
  }
  .gp-hero[data-in] .gp-eyebrow.gp-line            { animation-delay: 60ms; }
  .gp-hero[data-in] .gp-hero-title .gp-line:nth-child(1) { animation-delay: 220ms; }
  .gp-hero[data-in] .gp-hero-title .gp-line:nth-child(2) { animation-delay: 360ms; }
  .gp-hero[data-in] .gp-hero-title .gp-line:nth-child(3) { animation-delay: 500ms; }
  .gp-hero[data-in] .gp-hero-title .gp-line:nth-child(4) { animation-delay: 640ms; }
  .gp-hero[data-in] .gp-hero-sub.gp-line           { animation-delay: 820ms; }
}
@keyframes gp-line-in { to { opacity: 1; transform: translateY(0); } }

/* ---------- Construction notice (emphasised card) ---------- */
.gp-notice {
  border-top: var(--hairline);
  background: #FFFFFF;
  padding: var(--space-7) 0;
}
.gp-notice-card {
  position: relative;
  background: var(--gp-paper);
  border: 1px solid var(--border-hairline);
  border-left: 4px solid var(--accent);
  padding: var(--space-6) var(--space-7);
}
.gp-notice-label {
  display: inline-flex;
  align-items: center;
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  color: var(--accent);
  margin-bottom: var(--space-3);
}
.gp-notice-label .gp-square { width: 0.55em; height: 0.55em; margin-right: 0.5em; }
.gp-notice-text {
  font-size: var(--fs-lead);
  font-weight: var(--fw-light);
  line-height: var(--lh-normal);
  color: var(--text-primary);
  margin: 0;
  max-width: 60ch;
}
.gp-notice-text--muted {
  font-size: var(--fs-body);
  color: var(--text-secondary);
  margin-top: var(--space-3);
}

/* ---------- Footer (v2: softer, lighter charcoal) ---------- */
.gp-footer {
  background: #2B2B2B;
  color: var(--text-on-dark);
  padding: var(--space-8) 0 var(--space-6);
  flex-shrink: 0;
}
.gp-footer h4 {
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-regular);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--gp-grey);
  margin: 0 0 var(--space-4);
}
.gp-footer p, .gp-footer address, .gp-footer-links {
  font-size: var(--fs-small);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
  color: rgba(255,255,255,0.82);
  font-style: normal;
  margin: 0;
}
.gp-footer a { color: rgba(255,255,255,0.82); border-bottom: 1px solid transparent; transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.gp-footer a:hover { color: #fff; border-bottom-color: var(--accent); }
.gp-footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }

.gp-footer-bottom {
  border-top: 1px solid var(--border-on-dark);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
  font-size: var(--fs-eyebrow);
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.55);
}
.gp-footer-logo { height: 26px; width: auto; margin-bottom: var(--space-5); }
