/* .gy registration page ([rgy_gy_landing_page] on the domain product).
   Set like a registry record: white paper, ink type in the site's Poppins, domain names and
   money in JetBrains Mono, rules instead of boxes, and Revamped blue only for things you can
   press. The search is the first thing on the page and the results open under it. Below it,
   each part has its title in a narrow left column and its record in the wide one; the
   renewal timeline breaks out across the full width. Light only, like the site theme. */

@font-face {
	font-family: "RGY Mono";
	src: url("fonts/jetbrains-mono-latin.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: optional;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}

.rgy-reg {
	--ink: oklch(19% 0.012 265);
	--text: oklch(33% 0.016 265);
	--muted: oklch(46% 0.018 265);
	--rule: oklch(91% 0.008 265);
	--rule-strong: oklch(80% 0.012 265);
	--paper: oklch(100% 0 none);
	--tint: oklch(97.3% 0.011 275);
	--accent: oklch(53.3% 0.226 267);
	--accent-press: oklch(45% 0.2 267);
	--accent-wash: color-mix(in oklch, var(--accent) 9%, var(--paper));
	--good: oklch(47% 0.11 160);
	--night: oklch(21% 0.02 255);

	--sans: var(--uicore-text-font-family, "Poppins"), "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--mono: "RGY Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

	--fs-small: clamp(0.86rem, 0.84rem + 0.1vw, 0.92rem);
	--fs-body: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
	--fs-lead: clamp(1.1rem, 1.02rem + 0.4vw, 1.3rem);
	--fs-h3: clamp(1.02rem, 0.98rem + 0.2vw, 1.12rem);
	--fs-h2: clamp(1.5rem, 1.25rem + 1.2vw, 2.15rem);
	--fs-title: clamp(2.4rem, 1.55rem + 4.1vw, 4.4rem);

	--gap-part: clamp(56px, 4rem + 3vw, 112px);
	--radius-field: 10px;
	--radius-panel: 12px;

	font-family: var(--sans);
	font-size: var(--fs-body);
	line-height: 1.6;
	color: var(--text);
	background: var(--paper);
	overflow-x: clip;
	container: rgy-page / inline-size;
}
.rgy-reg *, .rgy-reg *::before, .rgy-reg *::after { box-sizing: border-box; }
.rgy-reg ::selection { background: color-mix(in oklch, var(--accent) 22%, var(--paper)); color: var(--ink); }
:where(.rgy-reg) :where(p, h1, h2, h3, ul, ol, dl, dd, figure) { margin: 0; }
.rgy-reg a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.rgy-reg a:active { color: var(--accent-press); }
/* Links inside running text keep an underline, so colour is not the only cue (the theme removes it). */
.rgy-reg :is(p, li, td, dd, .rgy-reg-pricelist__note) a:not([class]) { text-decoration-line: underline; }
@media (hover: hover) and (pointer: fine) {
	.rgy-reg a:hover { color: var(--accent-press); text-decoration-thickness: 2px; }
}
.rgy-reg :is(a, button, summary, input, select, [tabindex]):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.rgy-reg input, .rgy-reg select { caret-color: var(--accent); }
.rgy-reg :where(h1, h2, h3) { font-family: var(--sans); color: var(--ink); text-wrap: balance; }
.rgy-reg .screen-reader-text {
	position: absolute !important; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

.rgy-reg-shell { inline-size: min(1120px, 100% - 2 * clamp(16px, 4vw, 40px)); margin-inline: auto; }
.rgy-reg-mono { font-family: var(--mono); font-weight: 500; letter-spacing: -0.01em; }
.rgy-reg-quiet { color: var(--muted); }
.rgy-reg-note { font-size: var(--fs-small); color: var(--muted); max-inline-size: 68ch; }
.rgy-reg-h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.35; margin-block: 0 12px; }

/* ---------- The search ---------- */
.rgy-reg-top { padding-block: calc(var(--rgy-header-offset, 118px) + clamp(28px, 2rem + 2vw, 64px)) clamp(44px, 3rem + 2vw, 80px); }
.rgy-reg-title {
	font-size: var(--fs-title);
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -0.035em;
	margin-block-end: clamp(14px, 0.6rem + 0.6vw, 22px);
}
.rgy-reg-lead { font-size: var(--fs-lead); line-height: 1.5; max-inline-size: 44ch; color: var(--text); }
.rgy-reg-lead strong { color: var(--ink); font-weight: 600; white-space: nowrap; }
.rgy-reg-search { margin-block-start: clamp(28px, 1.6rem + 1.4vw, 44px); container-type: inline-size; }
.rgy-reg-search.is-searching { opacity: 0.6; }
@media (prefers-reduced-motion: no-preference) { .rgy-reg-search { transition: opacity 0.18s ease-out; } }
.rgy-reg-search__status:empty { display: none; }
.rgy-reg-search__status { margin-block-start: 10px; font-size: var(--fs-small); color: var(--muted); }
.rgy-reg-aside { margin-block-start: 26px; padding-block-start: 18px; border-block-start: 1px solid var(--rule); font-size: var(--fs-small); color: var(--muted); max-inline-size: 72ch; }

.rgy-reg .rgygy-domain-search-form { margin: 0; }
.rgy-reg .rgygy-label { display: block; margin-block-end: 8px; font-size: var(--fs-small); font-weight: 600; color: var(--ink); }
.rgy-reg .rgygy-controls { display: grid; grid-template-columns: minmax(0, 1fr) 13rem auto; gap: 10px; align-items: end; }
.rgy-reg .rgygy-control, .rgy-reg .rgygy-control--years, .rgy-reg .rgygy-control--submit { min-inline-size: 0; flex: none; }
.rgy-reg .rgygy-control--years { display: grid; }
/* The options say "1 year", "2 years (save 5%)", so the Years label is for screen readers only. */
.rgy-reg .rgygy-label-small {
	position: absolute !important; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.rgy-reg .rgygy-domain-search-form :is(input[type="text"], select) {
	inline-size: 100%;
	block-size: 60px;
	margin: 0;
	padding-inline: 18px;
	border: 1.5px solid var(--rule-strong);
	border-radius: var(--radius-field);
	background: var(--paper);
	color: var(--ink);
	box-shadow: none;
}
.rgy-reg .rgygy-domain-search-form input[type="text"] { font-family: var(--mono); font-size: 1.2rem; font-weight: 500; letter-spacing: -0.01em; }
.rgy-reg .rgygy-domain-search-form input[type="text"]::placeholder { color: color-mix(in oklch, var(--muted) 75%, var(--paper)); }
.rgy-reg .rgygy-domain-search-form select { font-family: var(--sans); font-size: 1rem; padding-inline-end: 12px; }
.rgy-reg .rgygy-domain-search-form :is(input[type="text"], select):focus { border-color: var(--accent); }
.rgy-reg .rgygy-domain-search-form button[type="submit"] {
	block-size: 60px;
	padding-inline: clamp(22px, 1rem + 1vw, 34px);
	border: 0;
	border-radius: var(--radius-field);
	background: var(--accent);
	color: var(--paper);
	font-family: var(--sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.rgy-reg .rgygy-domain-search-form button[type="submit"]:active { background: var(--accent-press); }
.rgy-reg .rgygy-domain-search-form button[type="submit"]:disabled { opacity: 0.6; cursor: progress; }
@media (hover: hover) and (pointer: fine) {
	.rgy-reg .rgygy-domain-search-form button[type="submit"]:hover { background: var(--accent-press); }
}
.rgy-reg .rgygy-help { margin-block-start: 12px; font-size: var(--fs-small); color: var(--muted); max-inline-size: 72ch; }
.rgy-reg .rgygy-help code { font-family: var(--mono); font-size: 0.95em; color: var(--ink); background: none; padding: 0; }
@container (max-width: 560px) {
	.rgy-reg .rgygy-controls { grid-template-columns: minmax(0, 1fr) auto; }
	.rgy-reg .rgygy-control:first-child { grid-column: 1 / -1; }
	.rgy-reg .rgygy-control--submit button[type="submit"] { inline-size: 100%; }
}

/* ---------- Search results, set in the page's own type and rules ---------- */
.rgy-reg .rgygy-search-note { margin-block-start: 18px; font-size: var(--fs-small); color: var(--muted); }
.rgy-reg .rgygy-search-error { margin-block-start: 18px; color: var(--ink); }
.rgy-reg .rgygy-results { gap: 16px; margin-block-start: 28px; }
.rgy-reg .rgygy-domain { font-family: var(--mono); }
.rgy-reg .rgygy-badge { padding: 0; border: 0; border-radius: 0; background: none; font-size: var(--fs-small); font-weight: 600; letter-spacing: 0; text-transform: none; }
.rgy-reg .rgygy-badge--ok { color: var(--good); }
.rgy-reg .rgygy-badge--no { color: var(--muted); }
.rgy-reg .rgygy-badge--progress { color: var(--accent); }
.rgy-reg .rgygy-hero-result {
	padding: clamp(18px, 1rem + 1vw, 28px);
	border: 1.5px solid var(--ink);
	border-radius: var(--radius-panel);
	background: var(--paper);
	box-shadow: none;
}
.rgy-reg .rgygy-hero-result--taken, .rgy-reg .rgygy-hero-result--not_sold { border-color: var(--rule-strong); }
.rgy-reg .rgygy-hero-result__name { font-family: var(--mono); font-size: clamp(1.35rem, 1rem + 1.5vw, 2.1rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--ink); }
.rgy-reg .rgygy-hero-result__price { font-family: var(--mono); font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem); font-weight: 600; color: var(--ink); }
.rgy-reg .rgygy-hero-result__per { font-family: var(--sans); font-size: 0.55em; font-weight: 400; color: var(--muted); }
.rgy-reg .rgygy-hero-result__renew, .rgy-reg .rgygy-hero-result__total, .rgy-reg .rgygy-hero-result__note { font-size: var(--fs-small); }
.rgy-reg .rgygy-saving { color: var(--good); }
.rgy-reg .rgygy-pack {
	padding: clamp(16px, 0.9rem + 0.8vw, 24px);
	border: 0;
	border-radius: var(--radius-panel);
	background: var(--tint);
}
.rgy-reg .rgygy-pack__title { font-size: var(--fs-h3); }
.rgy-reg .rgygy-pack__names { font-family: var(--mono); font-weight: 600; }
.rgy-reg .rgygy-pack__price { font-family: var(--mono); font-weight: 600; color: var(--ink); }
.rgy-reg .rgygy-results__subhead { margin-block: 12px 0; font-size: var(--fs-small); font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
.rgy-reg .rgygy-result-list { border: 1px solid var(--rule-strong); border-radius: var(--radius-panel); background: var(--paper); }
.rgy-reg .rgygy-result-row { border-block-start-color: var(--rule); }
.rgy-reg .rgygy-result-row__name .rgygy-domain { font-weight: 500; color: var(--ink); }
.rgy-reg .rgygy-result-row__price { font-family: var(--mono); font-weight: 600; color: var(--ink); }
.rgy-reg .rgygy-result-row__per, .rgy-reg .rgygy-result-row__total { font-family: var(--sans); }
.rgy-reg .rgygy-result-row__note { color: var(--muted); }
.rgy-reg .rgygy-result-list--closed { background: var(--tint); }
.rgy-reg .rgygy-result-list--closed .rgygy-domain { color: var(--muted); }
.rgy-reg .rgygy-results__subhead + .rgygy-result-list--ideas .rgygy-result-row__note { color: var(--muted); }
.rgy-reg .rgygy-results__note { font-size: var(--fs-small); color: var(--muted); }
.rgy-reg .rgygy-btn { font-family: var(--sans); font-weight: 600; letter-spacing: 0; text-transform: none; }
.rgy-reg .rgygy-btn-primary { background: var(--accent); border-color: var(--accent); color: var(--paper); }
.rgy-reg .rgygy-btn-primary:active { background: var(--accent-press); border-color: var(--accent-press); }
.rgy-reg .rgygy-btn-secondary { background: var(--paper); border-color: var(--ink); color: var(--ink); }
.rgy-reg .rgygy-btn-secondary:active { background: var(--tint); }
@media (hover: hover) and (pointer: fine) {
	.rgy-reg .rgygy-btn-primary:hover { background: var(--accent-press); border-color: var(--accent-press); color: var(--paper); }
	.rgy-reg .rgygy-btn-secondary:hover { background: var(--tint); color: var(--ink); }
}
.rgy-reg .rgygy-in-basket { background: var(--accent-wash); color: var(--accent-press); }
.rgy-reg .rgygy-result-row.is-in-basket { background: var(--accent-wash); }
.rgy-reg .rgygy-extras__list { border-color: var(--rule-strong); }
.rgy-reg .rgygy-extra.is-on { background: var(--accent-wash); }
.rgy-reg .rgygy-extra__title { color: var(--ink); }
.rgy-reg .rgygy-extra__price { font-family: var(--mono); }
.rgy-reg .rgygy-basket { background: var(--night); border-radius: var(--radius-panel); box-shadow: 0 10px 28px oklch(21% 0.02 255 / 0.28); }
.rgy-reg .rgygy-basket__total { font-family: var(--mono); }
.rgy-reg .rgygy-watch__row input[type="email"] { border-radius: var(--radius-field); border-color: var(--rule-strong); }

/* ---------- Parts: title on the left, the record on the right ---------- */
.rgy-reg-part { padding-block: var(--gap-part); border-block-start: 1px solid var(--rule); }
.rgy-reg-part__grid { display: grid; gap: clamp(18px, 1rem + 1vw, 28px) 48px; }
.rgy-reg-part__head h2 { font-size: var(--fs-h2); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin-block-end: 12px; }
.rgy-reg-part__head p { color: var(--muted); max-inline-size: 38ch; }
.rgy-reg-part__body { min-inline-size: 0; display: grid; gap: 0; }
@container rgy-page (min-width: 900px) {
	.rgy-reg-part__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
	.rgy-reg-part__head { position: sticky; inset-block-start: calc(var(--rgy-header-offset, 118px) + 16px); align-self: start; }
}

/* Price tables, ruled like a printed tariff. */
.rgy-reg-tablewrap { overflow-x: auto; margin-block-end: 36px; }
.rgy-reg-table { inline-size: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rgy-reg-table :is(th, td) { padding-block: 13px; padding-inline: 0 16px; text-align: start; vertical-align: baseline; border: 0; background: none; }
.rgy-reg-table :is(th, td):last-child { padding-inline-end: 0; }
.rgy-reg-table thead th { font-size: var(--fs-small); font-weight: 500; color: var(--muted); border-block-end: 1.5px solid var(--ink); padding-block-start: 0; }
.rgy-reg-table tbody :is(th, td) { border-block-end: 1px solid var(--rule); color: var(--ink); }
.rgy-reg-table tbody tr:last-child :is(th, td) { border-block-end: 1.5px solid var(--ink); }
.rgy-reg-table tbody th { font-weight: 500; }
.rgy-reg-table tbody th .rgy-reg-mono { font-size: 1.05em; }
.rgy-reg-table .is-num { text-align: end; white-space: nowrap; font-family: var(--mono); font-weight: 500; }
.rgy-reg-table thead .is-num { font-family: var(--sans); }
.rgy-reg-table .is-request td { font-family: var(--sans); color: var(--muted); font-size: var(--fs-small); }
.rgy-reg-table--terms tbody th { font-family: var(--sans); }
.rgy-reg-pack { padding-block: 16px; border-block: 1px solid var(--rule); margin-block-end: 18px; max-inline-size: 68ch; }
.rgy-reg-pack strong { color: var(--ink); font-weight: 600; white-space: nowrap; }

/* Payment methods as a ledger. */
.rgy-reg-ledger { margin: 0; border-block-start: 1.5px solid var(--ink); }
.rgy-reg-ledger > div { display: grid; gap: 4px 32px; padding-block: 18px; border-block-end: 1px solid var(--rule); }
.rgy-reg-ledger dt { font-weight: 600; color: var(--ink); }
.rgy-reg-ledger dd { margin: 0; max-inline-size: 56ch; }
@container rgy-page (min-width: 640px) {
	.rgy-reg-ledger > div { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); }
}

/* Included and extras. */
.rgy-reg-pair { gap: 44px; }
@container rgy-page (min-width: 1000px) {
	.rgy-reg-pair .rgy-reg-list { columns: 2; column-gap: 32px; }
	.rgy-reg-pair .rgy-reg-list li { break-inside: avoid; }
}
.rgy-reg-list { list-style: none; margin: 0; padding: 0; border-block-start: 1.5px solid var(--ink); }
.rgy-reg-list li { margin: 0; padding-block: 11px; border-block-end: 1px solid var(--rule); color: var(--ink); }
.rgy-reg-pricelist { list-style: none; margin: 0; padding: 0; border-block-start: 1.5px solid var(--ink); }
.rgy-reg-pricelist li {
	display: grid;
	grid-template-columns: auto minmax(1.5rem, 1fr) auto;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0;
	padding-block: 14px;
	border-block-end: 1px solid var(--rule);
}
.rgy-reg-pricelist__name { font-weight: 600; color: var(--ink); }
.rgy-reg-pricelist__dots { border-block-end: 1.5px dotted var(--rule-strong); translate: 0 -0.3em; }
.rgy-reg-pricelist__price { font-family: var(--mono); font-weight: 500; color: var(--ink); white-space: nowrap; text-align: end; }
.rgy-reg-pricelist__price:empty + .rgy-reg-pricelist__note { grid-column: 1 / -1; }
.rgy-reg-pricelist__note { grid-column: 1 / -1; font-size: var(--fs-small); color: var(--muted); max-inline-size: 60ch; }
@container rgy-page (max-width: 600px) {
	.rgy-reg-pricelist li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.rgy-reg-pricelist__dots { display: none; }
	.rgy-reg-pricelist__price { text-align: start; }
}

/* ---------- Renewals: the schedule as a timeline ---------- */
.rgy-reg-renewals { padding-block: var(--gap-part); background: var(--tint); }
.rgy-reg-renewals h2 { font-size: var(--fs-h2); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin-block-end: 12px; }
.rgy-reg-renewals__lead { color: var(--muted); max-inline-size: 52ch; }
.rgy-reg-timeline { list-style: none; margin: clamp(32px, 2rem + 1vw, 48px) 0 0; padding: 0; display: grid; }
.rgy-reg-timeline__step { position: relative; display: grid; gap: 2px; margin: 0; padding-block: 0 22px; padding-inline-start: 30px; }
.rgy-reg-timeline__step::before { content: ""; position: absolute; inset-block: 0.55em 0; inset-inline-start: 5px; border-inline-start: 2px solid var(--ink); }
.rgy-reg-timeline__step::after { content: ""; position: absolute; inset-block-start: 0.4em; inset-inline-start: 0; inline-size: 12px; block-size: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--ink); }
.rgy-reg-timeline__step:last-child::before { display: none; }
.rgy-reg-timeline__step.is-expiry::after { background: var(--accent); border-color: var(--accent); inline-size: 14px; block-size: 14px; inset-inline-start: -1px; inset-block-start: 0.32em; border-radius: 3px; }
.rgy-reg-timeline__step.is-expiry::before, .rgy-reg-timeline__step.is-after::before { border-inline-start-style: dashed; border-inline-start-color: var(--muted); }
.rgy-reg-timeline__step.is-after::after { border-color: var(--muted); }
.rgy-reg-timeline__when { font-family: var(--mono); font-size: var(--fs-small); font-weight: 600; color: var(--ink); }
.rgy-reg-timeline__step.is-expiry .rgy-reg-timeline__when { color: var(--accent); }
.rgy-reg-timeline__what { color: var(--text); font-size: var(--fs-small); }
@container rgy-page (min-width: 900px) {
	.rgy-reg-timeline { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); column-gap: 14px; }
	.rgy-reg-timeline__step { padding-block: 30px 0; padding-inline: 0; }
	.rgy-reg-timeline__step::before { inset-block: 5px auto; inset-inline: 0 -14px; border-inline-start: 0; border-block-start: 2px solid var(--ink); }
	.rgy-reg-timeline__step:last-child::before { display: block; inset-inline-end: 0; }
	.rgy-reg-timeline__step::after { inset-block-start: 0; inset-inline-start: 0; }
	.rgy-reg-timeline__step.is-expiry::before, .rgy-reg-timeline__step.is-after::before { border-inline-start: 0; border-block-start-style: dashed; border-block-start-color: var(--muted); }
	.rgy-reg-timeline__step.is-expiry::after { inset-block-start: -1px; inset-inline-start: -1px; }
}
.rgy-reg-renewals__notes { display: grid; gap: 14px 48px; margin-block-start: clamp(28px, 1.8rem + 1vw, 44px); padding-block-start: 22px; border-block-start: 1px solid var(--rule-strong); }
.rgy-reg-renewals__notes p { max-inline-size: 60ch; }
.rgy-reg-renewals__notes strong { color: var(--ink); font-weight: 600; }
@container rgy-page (min-width: 900px) {
	.rgy-reg-renewals__notes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* ---------- Questions ---------- */
.rgy-reg-faq { border-block-start: 1.5px solid var(--ink); }
.rgy-reg-faq details { border-block-end: 1px solid var(--rule); }
.rgy-reg-faq summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: baseline;
	padding-block: 16px;
	font-weight: 600;
	color: var(--ink);
	cursor: pointer;
	list-style: none;
}
.rgy-reg-faq summary::-webkit-details-marker { display: none; }
.rgy-reg-faq summary::after { content: "Show"; font-size: var(--fs-small); font-weight: 500; color: var(--accent); }
.rgy-reg-faq details[open] summary::after { content: "Hide"; }
.rgy-reg-faq details p { padding-block: 0 18px; max-inline-size: 64ch; }
@media (hover: hover) and (pointer: fine) {
	.rgy-reg-faq summary:hover { color: var(--accent-press); }
}

/* ---------- Close: the search once more ---------- */
.rgy-reg-close { padding-block: var(--gap-part) clamp(56px, 3rem + 3vw, 96px); border-block-start: 1px solid var(--rule); }
.rgy-reg-close h2 { font-size: var(--fs-h2); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin-block-end: 20px; }
.rgy-reg-close__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; max-inline-size: 640px; margin-block-end: 36px; }
.rgy-reg-close__form input {
	inline-size: 100%; block-size: 56px; margin: 0; padding-inline: 16px;
	border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper);
	font-family: var(--mono); font-size: 1.1rem; color: var(--ink); box-shadow: none;
}
.rgy-reg-close__form input:focus { border-color: var(--accent); }
.rgy-reg-close__form button {
	block-size: 56px; padding-inline: 26px; border: 0; border-radius: var(--radius-field);
	background: var(--accent); color: var(--paper); font-family: var(--sans); font-size: 1rem; font-weight: 600; cursor: pointer;
}
.rgy-reg-close__form button:active { background: var(--accent-press); }
@media (hover: hover) and (pointer: fine) {
	.rgy-reg-close__form button:hover { background: var(--accent-press); }
}
.rgy-reg-close .rgy-reg-note + .rgy-reg-note { margin-block-start: 8px; }

/* ---------- Line icons beside facts (one drawn set: ink lines, one blue stroke) ---------- */
.rgy-rec-icon { display: inline-grid; place-items: center; flex: none; inline-size: 1.4em; block-size: 1.4em; color: var(--ink); }
.rgy-rec-icon svg { inline-size: 100%; block-size: 100%; overflow: visible; }
.rgy-rec-icon .rgy-icon-accent { stroke: var(--accent); }
.rgy-reg-ledger dt { display: flex; align-items: flex-start; gap: 12px; }
.rgy-reg-ledger dt .rgy-rec-icon { margin-block-start: 0.05em; }
.rgy-reg-list--icons li { display: grid; grid-template-columns: 1.4em minmax(0, 1fr); gap: 12px; align-items: start; }
.rgy-reg-list--icons .rgy-rec-icon { margin-block-start: 0.1em; }
.rgy-reg-pricelist__name { display: inline-flex; align-items: center; gap: 12px; }
.rgy-reg-pricelist__note { padding-inline-start: calc(1.4em + 12px); }
.rgy-reg-renewals__notes p { display: grid; grid-template-columns: 1.4em minmax(0, 1fr); column-gap: 12px; }
.rgy-reg-renewals__notes p .rgy-rec-icon { margin-block-start: 0.1em; }
@container rgy-page (max-width: 600px) {
	.rgy-reg-pricelist__price { padding-inline-start: calc(1.4em + 12px); }
}

/* ---------- Record pages (the other domain pages, drawn by record_page()) ---------- */
.rgy-rec-body { gap: 36px; }
.rgy-rec-block { min-inline-size: 0; }
.rgy-rec-block > .rgy-reg-h3 { margin-block-end: 12px; }
.rgy-rec-para { max-inline-size: 64ch; }
.rgy-rec-para + .rgy-rec-para { margin-block-start: 12px; }
.rgy-rec-block .rgy-reg-tablewrap { margin-block-end: 0; }
.rgy-rec-band .rgy-rec-gap { margin-block-start: clamp(28px, 1.8rem + 1vw, 44px); }
.rgy-rec-band .rgy-reg-ledger, .rgy-rec-band .rgy-reg-list { max-inline-size: 900px; }
.rgy-rec-list--columns { columns: 1; }
@container rgy-page (min-width: 1000px) {
	.rgy-rec-list--columns { columns: 2; column-gap: 32px; }
	.rgy-rec-list--columns li { break-inside: avoid; }
}

/* Steps where the order matters (how to register, renew or transfer). */
.rgy-rec-steps { list-style: none; margin: 0; padding: 0; border-block-start: 1.5px solid var(--ink); counter-reset: none; }
.rgy-rec-steps li { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 14px; margin: 0; padding-block: 16px; border-block-end: 1px solid var(--rule); }
.rgy-rec-steps__n { font-family: var(--mono); font-weight: 600; font-size: 1.05rem; color: var(--accent); line-height: 1.5; }
.rgy-rec-steps strong { display: block; color: var(--ink); font-weight: 600; }
.rgy-rec-steps p { margin-block-start: 4px; max-inline-size: 60ch; }

/* Links that act as buttons: one filled, the rest plain. */
.rgy-rec-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-block-start: 20px; }
.rgy-rec-actions--top { margin-block-start: clamp(24px, 1.4rem + 1vw, 36px); }
.rgy-rec-button {
	display: inline-flex; align-items: center; justify-content: center; min-block-size: 52px; padding-inline: 26px;
	border-radius: var(--radius-field); background: var(--accent); color: var(--paper) !important;
	font-weight: 600; text-decoration: none !important; line-height: 1.2;
}
.rgy-rec-button:active { background: var(--accent-press); }
.rgy-rec-button--plain { min-block-size: 0; padding: 0; background: none; color: var(--accent) !important; text-decoration: underline !important; text-underline-offset: 0.2em; font-weight: 500; }
.rgy-rec-button--plain:active { background: none; color: var(--accent-press) !important; }
@media (hover: hover) and (pointer: fine) {
	.rgy-rec-button:hover { background: var(--accent-press); }
	.rgy-rec-button--plain:hover { background: none; color: var(--accent-press) !important; text-decoration-thickness: 2px !important; }
}
.rgy-rec-close__text { max-inline-size: 60ch; margin-block-end: 4px; }
.rgy-rec-tool .rgy-rec-tool { margin: 0; }
.rgy-reg-close .rgy-rec-actions + .rgy-reg-note { margin-block-start: 28px; }

/* ---------- Question filter and topic index (the FAQ page) ---------- */
.rgy-rec-filter { display: grid; gap: 8px; max-inline-size: 640px; margin-block-start: clamp(28px, 1.6rem + 1.4vw, 44px); }
.rgy-rec-filter[hidden] { display: none; }
.rgy-rec-filter__label { font-size: var(--fs-small); font-weight: 600; color: var(--ink); }
.rgy-rec-filter__input {
	inline-size: 100%; block-size: 56px; margin: 0; padding-inline: 16px;
	border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper);
	font-family: var(--sans); font-size: 1.05rem; color: var(--ink); box-shadow: none;
}
.rgy-rec-filter__input::placeholder { color: var(--muted); opacity: 1; }
.rgy-rec-filter__input:focus { border-color: var(--accent); }
.rgy-rec-filter__count { font-size: var(--fs-small); color: var(--muted); min-block-size: 1.4em; }
.rgy-rec-filter__empty { padding-block: 14px; border-block: 1px solid var(--rule); color: var(--text); }

.rgy-rec-contents { margin-block-start: clamp(32px, 1.8rem + 1.6vw, 52px); }
.rgy-rec-contents[hidden] { display: none; }
.rgy-rec-contents ul { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 32px; list-style: none; margin: 0; padding: 0; border-block-start: 1.5px solid var(--ink); }
.rgy-rec-contents li { margin: 0; border-block-end: 1px solid var(--rule); }
.rgy-rec-contents a {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center;
	padding-block: 13px; color: var(--ink) !important; text-decoration: none !important; font-weight: 500;
}
.rgy-rec-contents__n { font-family: var(--mono); font-size: var(--fs-small); color: var(--muted); font-variant-numeric: tabular-nums; }
.rgy-rec-contents a:active { color: var(--accent-press) !important; }
@media (hover: hover) and (pointer: fine) {
	.rgy-rec-contents a:hover span:not(.rgy-rec-contents__n) { color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; }
}
@container rgy-page (min-width: 640px) {
	.rgy-rec-contents ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container rgy-page (min-width: 1040px) {
	.rgy-rec-contents ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.rgy-rec-block:has(> .rgy-rec-actions:only-child) { margin-block-start: -14px; }
.rgy-reg-part[hidden] { display: none; }

/* ---------- WHOIS lookup on the record page ([rgy_gy_whois] inside .rgy-rec--whois) ----------
   The tool's own whois.css is not loaded here; its results are set as a registry record. */
.rgy-rec .rgygy-whois { font-family: var(--sans); color: var(--text); }
.rgy-rec .rgygy-whois__intro { display: none; }
.rgy-rec .rgygy-whois__form { display: grid; gap: 12px; max-inline-size: 760px; margin: 0; }
.rgy-rec .rgygy-whois__searchbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.rgy-rec .rgygy-whois__searchbar input {
	inline-size: 100%; block-size: 56px; margin: 0; padding-inline: 16px;
	border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper);
	font-family: var(--mono); font-size: 1.1rem; color: var(--ink); box-shadow: none;
}
.rgy-rec .rgygy-whois__searchbar input:focus { border-color: var(--accent); }
.rgy-rec .rgygy-whois__searchbar button,
.rgy-rec .rgygy-whois .rgygy-btn-primary {
	block-size: 56px; padding-inline: 26px; border: 0; border-radius: var(--radius-field);
	background: var(--accent); color: var(--paper); font-family: var(--sans); font-size: 1rem; font-weight: 600; cursor: pointer;
}
.rgy-rec .rgygy-whois .rgygy-btn-primary { display: inline-flex; align-items: center; block-size: 48px; text-decoration: none; }
.rgy-rec .rgygy-whois__searchbar button:active, .rgy-rec .rgygy-whois .rgygy-btn-primary:active { background: var(--accent-press); }
@media (hover: hover) and (pointer: fine) {
	.rgy-rec .rgygy-whois__searchbar button:hover, .rgy-rec .rgygy-whois .rgygy-btn-primary:hover { background: var(--accent-press); }
}
.rgy-rec .rgygy-whois__zones { display: flex; flex-wrap: wrap; gap: 4px 14px; font-family: var(--mono); font-size: var(--fs-small); color: var(--muted); }
.rgy-rec .rgygy-chip { padding: 0; border: 0; background: none; border-radius: 0; }
@container rgy-page (max-width: 520px) {
	.rgy-rec .rgygy-whois__searchbar { grid-template-columns: minmax(0, 1fr); }
}

/* Section links under the search: plain text links, not tabs. */
.rgy-rec .rgygy-whois__tabs { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-block: clamp(28px, 1.6rem + 1vw, 40px) 8px; padding: 0; background: none; border: 0; }
.rgy-rec .rgygy-tab { padding: 0; border: 0; background: none; font-family: var(--sans); font-size: var(--fs-small); font-weight: 500; color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; box-shadow: none; }
.rgy-rec .rgygy-tab.is-active { color: var(--ink); text-decoration: none; }

.rgy-rec .rgygy-whois__results { display: grid; gap: clamp(28px, 1.6rem + 1vw, 44px); }
.rgy-rec .rgygy-section { display: grid; gap: clamp(28px, 1.6rem + 1vw, 44px); scroll-margin-block-start: calc(var(--rgy-header-offset, 118px) + 16px); }
.rgy-rec .rgygy-card { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.rgy-rec .rgygy-card h3 { margin: 0 0 12px; font-size: var(--fs-h3); font-weight: 600; color: var(--ink); }
.rgy-rec .rgygy-card > p { margin: 0 0 12px; color: var(--muted); font-size: var(--fs-small); }
.rgy-rec .rgygy-contact + .rgygy-contact { margin-block-start: 24px; }
.rgy-rec .rgygy-contact h4 { margin: 0 0 8px; font-size: var(--fs-body); font-weight: 600; color: var(--text); }

/* Label and value pairs as a ledger: label left, value right, a hairline under each. */
.rgy-rec .rgygy-grid { display: grid; grid-template-columns: minmax(0, 1fr); border-block-start: 1.5px solid var(--ink); }
.rgy-rec .rgygy-grid > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding-block: 11px; border-block-end: 1px solid var(--rule); }
.rgy-rec .rgygy-label { font-size: var(--fs-small); font-weight: 500; color: var(--muted); }
.rgy-rec .rgygy-value { font-family: var(--mono); font-size: 0.95rem; color: var(--ink); overflow-wrap: anywhere; }
@container rgy-page (min-width: 640px) {
	.rgy-rec .rgygy-grid > div { grid-template-columns: 11rem minmax(0, 1fr); gap: 16px; align-items: baseline; }
}

/* Tables: the record's tariff style, scrolling sideways inside their own box. */
.rgy-rec .rgygy-tablewrap { overflow-x: auto; border: 0; }
.rgy-rec .rgygy-table { inline-size: 100%; min-inline-size: 520px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rgy-rec .rgygy-table :is(th, td) { padding-block: 11px; padding-inline: 0 16px; text-align: start; vertical-align: baseline; border: 0; background: none; font-size: 0.92rem; }
.rgy-rec .rgygy-table thead th { font-size: var(--fs-small); font-weight: 500; color: var(--muted); border-block-end: 1.5px solid var(--ink); }
.rgy-rec .rgygy-table tbody td { border-block-end: 1px solid var(--rule); color: var(--ink); font-family: var(--mono); overflow-wrap: anywhere; }

.rgy-rec .rgygy-accordion { border-block: 1px solid var(--rule); }
.rgy-rec .rgygy-accordion summary { padding-block: 14px; font-weight: 600; color: var(--ink); cursor: pointer; }
.rgy-rec .rgygy-pre { max-block-size: 420px; overflow: auto; margin: 0 0 16px; padding: 16px; background: var(--tint); border-radius: var(--radius-field); font-family: var(--mono); font-size: 0.82rem; line-height: 1.55; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }

/* Available, error and premium notes and the register row. */
.rgy-rec .rgygy-notice { margin-block: 18px 0; padding: 14px 16px; border: 0; border-inline-start: 3px solid var(--rule-strong); border-radius: 0; background: var(--tint); color: var(--text); }
.rgy-rec .rgygy-notice--error { border-inline-start-color: oklch(52% 0.18 28); }
.rgy-rec .rgygy-notice--success, .rgy-rec .rgygy-notice--available { border-inline-start-color: var(--good); }
.rgy-rec .rgygy-muted { color: var(--muted); font-size: var(--fs-small); }
.rgy-rec .rgygy-cta-pitch { margin-block-start: 20px; }
.rgy-rec .rgygy-cta-pitch p { margin: 0 0 4px; }
.rgy-rec .rgygy-cta-row { display: flex; flex-wrap: wrap; align-items: end; gap: 16px 28px; margin-block-start: 16px; padding-block: 18px; border-block: 1.5px solid var(--ink); }
.rgy-rec .rgygy-cta-big { font-family: var(--mono); font-size: 1.5rem; font-weight: 600; color: var(--ink); }
.rgy-rec .rgygy-buy-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.rgy-rec .rgygy-buy-form select { block-size: 48px; padding-inline: 12px; border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper); font-family: var(--mono); color: var(--ink); }
.rgy-rec .rgygy-buy-total { flex-basis: 100%; order: 3; font-family: var(--mono); }
.rgy-rec .rgygy-label-inline { margin: 0; }
/* Grid children must be allowed to shrink, or a wide DNS table or long URL pushes the page sideways on phones. */
.rgy-rec .rgygy-whois, .rgy-rec .rgygy-whois__results > *, .rgy-rec .rgygy-section > *, .rgy-rec .rgygy-card, .rgy-rec .rgygy-grid > div > * { min-inline-size: 0; }
.rgy-rec .rgygy-whois__tabs + .rgygy-whois__results { margin-block-start: 20px; }

/* ---------- Transfer form on the record page ([rgygy transfer tool] inside .rgy-rec--transfer) ----------
   The page lead already gives the fee and what to bring, so the tool's own heading and help lines are hidden. */
.rgy-rec .rgygy-transfer-search { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; max-inline-size: 860px; }
.rgy-rec .rgygy-transfer-form > .rgygy-label, .rgy-rec .rgygy-transfer-form > .rgygy-help { display: none; }
.rgy-rec .rgygy-transfer-form__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: end; }
@container rgy-page (min-width: 720px) {
	.rgy-rec .rgygy-transfer-form__row { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; }
}
.rgy-rec .rgygy-transfer-form__field { display: grid; gap: 6px; min-inline-size: 0; margin: 0; }
.rgy-rec .rgygy-transfer-form .rgygy-label-small { position: static !important; inline-size: auto; block-size: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal; font-size: var(--fs-small); font-weight: 600; color: var(--ink); text-transform: none; letter-spacing: 0; }
.rgy-rec .rgygy-transfer-form__submit .rgygy-label-small { display: none; }
.rgy-rec .rgygy-transfer-form input[type="text"] {
	inline-size: 100%; block-size: 56px; margin: 0; padding-inline: 16px;
	border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper);
	font-family: var(--mono); font-size: 1.05rem; color: var(--ink); box-shadow: none;
}
.rgy-rec .rgygy-transfer-form input[type="text"]::placeholder { color: var(--muted); opacity: 1; font-family: var(--sans); font-size: 0.98rem; }
.rgy-rec .rgygy-transfer-form input[type="text"]:focus { border-color: var(--accent); }
.rgy-rec .rgygy-transfer-form .rgygy-btn-primary {
	block-size: 56px; padding-inline: 26px; border: 0; border-radius: var(--radius-field);
	background: var(--accent); color: var(--paper); font-family: var(--sans); font-size: 1rem; font-weight: 600; cursor: pointer; inline-size: 100%;
	border-radius: var(--radius-field) !important;
}
.rgy-rec .rgygy-transfer-form .rgygy-btn-primary:active { background: var(--accent-press); }
@media (hover: hover) and (pointer: fine) {
	.rgy-rec .rgygy-transfer-form .rgygy-btn-primary:hover { background: var(--accent-press); }
}
.rgy-rec code { font-family: var(--mono); font-size: 0.95em; color: var(--ink); background: none; padding: 0; }

/* ---------- Register-interest form (reseller page) ---------- */
.rgy-rec-form { display: grid; gap: 20px; }
.rgy-rec-form__trap { position: absolute; inset-inline-start: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.rgy-rec-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 20px; }
@container rgy-page (min-width: 900px) {
	.rgy-rec-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rgy-rec-field.is-wide { grid-column: 1 / -1; }
}
.rgy-rec-field { display: grid; gap: 6px; min-inline-size: 0; margin: 0; }
.rgy-rec-field > span { font-size: var(--fs-small); font-weight: 600; color: var(--ink); }
.rgy-rec-field b, .rgy-rec-form__consent b { font-weight: 600; color: var(--accent); }
.rgy-rec-field :is(input, select, textarea) {
	inline-size: 100%; margin: 0; padding: 12px 14px;
	border: 1.5px solid var(--rule-strong); border-radius: var(--radius-field); background: var(--paper);
	font-family: var(--sans); font-size: 1rem; line-height: 1.4; color: var(--ink); box-shadow: none;
}
.rgy-rec-field :is(input, select) { block-size: 50px; padding-block: 0; }
.rgy-rec-field textarea { min-block-size: 112px; resize: vertical; }
.rgy-rec-field :is(input, select, textarea):focus { border-color: var(--accent); }
.rgy-rec-field ::placeholder { color: var(--muted); opacity: 1; }
.rgy-rec-form__consent { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; margin: 0; max-inline-size: 64ch; }
.rgy-rec-form__consent input { inline-size: 20px; block-size: 20px; margin: 0.15em 0 0; accent-color: var(--accent); }
.rgy-rec-form__submit { margin: 0; }
.rgy-rec-form__submit .rgy-rec-button { border: 0; cursor: pointer; font-family: var(--sans); }
.rgy-rec-form-message { margin-block-end: 20px; padding: 14px 16px; border-inline-start: 3px solid var(--good); background: var(--tint); color: var(--text); }
.rgy-rec-form-message.is-error { border-inline-start-color: oklch(52% 0.18 28); }
.rgy-rec-form-message strong { display: block; color: var(--ink); }
.rgy-rec-form-message :is(p, ul) { margin-block-start: 6px; }
.rgy-rec-form-message ul { padding-inline-start: 1.2em; }
.rgy-rec-markup { min-inline-size: 0; }
.rgy-rec .rgygy-whois .rgygy-btn-primary { border-radius: var(--radius-field) !important; }
.rgy-rec .rgygy-whois__searchbar input::placeholder { font-family: var(--sans); font-size: 0.98rem; color: var(--muted); opacity: 1; }
