/* Good Founders search: trigger + full-page takeover. */
.gf-search__bar {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 620px;
	padding: 0;
	border: 2px solid #0A151B;
	background: #FAF7F2;
	color: #0A151B;
	cursor: text;
	text-align: left;
	font: inherit;
	border-radius: 0;
}
.gf-search__bar-text {
	flex: 1;
	padding: 16px 18px;
	font-family: 'DM Sans', system-ui, sans-serif;
	font-size: 17px;
	opacity: .6;
}
.gf-search__bar-go {
	display: flex;
	align-items: center;
	padding: 0 22px;
	background: #0A151B;
	color: #F3F0E7;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: background .2s;
}
.gf-search__bar:hover .gf-search__bar-go,
.gf-search__bar:focus-visible .gf-search__bar-go { background: #DD1F3B; }
.gf-search__icon {
	width: 44px;
	height: 44px;
	padding: 9px;
	border: 0;
	background: none;
	color: #0A151B;
	cursor: pointer;
}
.gf-search__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; }
.gf-search__icon:hover { color: #DD1F3B; }

/* Takeover */
.gf-search__takeover {
	position: fixed;
	inset: 0;
	z-index: 99999;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	background: #0A151B;
	color: #F3F0E7;
	clip-path: circle(0% at var(--gf-x, 50%) var(--gf-y, 50%));
	transition: clip-path .6s cubic-bezier(.7, 0, .2, 1);
}
.gf-search__takeover[hidden] { display: block; visibility: hidden; }
.gf-search__takeover.is-open {
	visibility: visible;
	clip-path: circle(150% at var(--gf-x, 50%) var(--gf-y, 50%));
}
.gf-search__inner {
	position: relative; isolation: isolate; min-height: 100%; display: flex; flex-direction: column;
	padding: 24px var(--gf-gutter, 48px) 60px; opacity: 0; transform: translateY(16px); transition: opacity .4s .25s, transform .4s .25s;
}
.gf-search__takeover.is-open .gf-search__inner { opacity: 1; transform: none; }
.gf-search__inner::before {
	content: ''; position: absolute; z-index: -1; left: 50%; top: 42%; width: min(90vh, 90vw); aspect-ratio: 1; translate: -50% -50%; border-radius: 50%;
	background: radial-gradient(circle, #FAF7F2 0 1.6%, #0A151B 1.6% 6%, #0B2429 6% 12%, #175057 12% 19%, #1E7C86 19% 27%, #2BB3C1 27% 36%, #6FC9D1 36% 46%, #A4DBDE 46% 57%, #C8E7E9 57% 69%, #DFEDED 69% 82%, #ECF2F0 82% 100%);
	opacity: .1; animation: gf-search-breathe 7s ease-in-out infinite;
}
@keyframes gf-search-breathe { 50% { transform: scale(1.06); opacity: .16; } }
.gf-search__top { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(243, 240, 231, .25); padding-bottom: 14px; }
.gf-search__kicker, .gf-search__close { font-family: 'DM Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #F3F0E7; }
.gf-search__close { cursor: pointer; }
/* The question, input and results move as one group, centred in the space under the categories. */
.gf-search__stage { margin: auto 0; padding: 6vh 0 4vh; }
.gf-search__form { margin: 0; text-align: center; }
.gf-search__ask { margin: 0 0 18px; font: italic 400 clamp(24px, 2.4vw, 40px)/1.1 'Instrument Serif', Georgia, serif; color: #6FC9D1; }
.gf-search__takeover input.gf-search__input, .gf-search__takeover input.gf-search__input:focus {
	width: 100%; margin: 0; padding: 0 0 12px !important; border: 0 !important; border-bottom: 4px solid #F3F0E7 !important; border-radius: 0 !important;
	background: transparent !important; box-shadow: none !important; outline: none !important; color: #F3F0E7; caret-color: #FF5A85;
	font-family: 'Bebas Neue', Impact, sans-serif; font-size: clamp(64px, 12vw, 230px); line-height: .95; letter-spacing: .01em; text-align: center; -webkit-appearance: none;
}
.gf-search__input::placeholder { color: rgba(243, 240, 231, .18); }
.gf-search__input::-webkit-search-cancel-button { display: none; }
/* Categories sit straight under the top line, which serves as their top rule. */
.gf-search__chips { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 1.5px solid rgba(243, 240, 231, .5); }
.gf-search__chip { --c1: #DFEDED; --c2: #A4DBDE; --c4: #1E7C86; position: relative; display: flex; align-items: center; gap: 12px; padding: 18px 16px; color: #F3F0E7; font: 400 clamp(18px, 1.5vw, 26px)/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .02em; text-decoration: none; isolation: isolate; overflow: hidden; transition: color .3s; }
.gf-search__chip + .gf-search__chip { border-left: 1px solid rgba(243, 240, 231, .25); }
.gf-search__chip.gf-field--rose { --c1: #FFEEF2; --c2: #FCA9BD; --c4: #FA4B46; }
.gf-search__chip.gf-field--sky { --c1: #EEF1E6; --c2: #A5D1EA; --c4: #0F9BD7; }
.gf-search__chip.gf-field--saffron { --c1: #FFF4DE; --c2: #FDC45E; --c4: #D98400; }
.gf-search__chip i { flex: none; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle, #FAF7F2 0 18%, var(--c4) 18% 45%, var(--c2) 45% 72%, var(--c1) 72%); transition: transform .5s; }
.gf-search__chip::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--c1), var(--c2)); transform: scaleY(0); transform-origin: bottom; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.gf-search__chip:hover { color: #0A151B; }
.gf-search__chip:hover::before { transform: scaleY(1); }
.gf-search__chip:hover i { transform: scale(1.8); }
/* Results: tight left-aligned rows under the input's heavy rule. Name and path on the left, what they
   do on the right. The first row drops its rule so it never doubles the heavy one. */
.gf-search__results { list-style: none; max-width: 1200px; margin: 14px auto 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); text-align: left; }
.gf-search__results li + li { border-top: 1px solid rgba(243, 240, 231, .2); }
.gf-search__results a { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 8px 40px; align-items: start; padding: 14px 0; color: #F3F0E7; text-decoration: none; }
.gf-search__r-main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gf-search__results a:hover .gf-search__r-title, .gf-search__results a:focus-visible .gf-search__r-title { color: #6FC9D1; }
.gf-search__r-title { font-family: 'Bebas Neue', Impact, sans-serif; font-size: clamp(26px, 2.4vw, 38px); line-height: .95; }
.gf-search__r-type { font-family: 'DM Mono', ui-monospace, monospace; font-size: 11px; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: rgba(243, 240, 231, .7); }
.gf-search__r-about { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 2px; }
.gf-search__r-line { font: italic 400 clamp(19px, 1.4vw, 23px)/1.2 'Instrument Serif', Georgia, serif; color: #F3F0E7; }
.gf-search__r-what { font-family: 'DM Sans', system-ui, sans-serif; font-size: 14px; line-height: 1.45; color: rgba(243, 240, 231, .75); }
.gf-search__results .gf-search__all { grid-column: 1 / -1; }
.gf-search__results .gf-search__all a { display: flex; justify-content: center; font-family: 'DM Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #FF5A85; }
.gf-search__empty { margin-top: 28px; font-size: 18px; text-align: center; }
.gf-search__empty a { color: #FF5A85; }
@media (max-width: 900px) {
	.gf-search__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gf-search__chip:nth-child(odd) { border-left: 0; }
	.gf-search__chip:nth-child(n+3) { border-top: 1px solid rgba(243, 240, 231, .25); }
	.gf-search__results a { grid-template-columns: minmax(0, 1fr); }
	.gf-search__takeover input.gf-search__input { font-size: max(16px, 16vw); }
}
html.gf-search-lock { overflow: hidden; }

@media (max-width: 767px) {
	.gf-search__input { font-size: max(16px, 13vw); }
	.gf-search__bar-text { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.gf-search__takeover, .gf-search__inner { transition: none; }
}
