/* Celestia Energy — "Dark Orbit" design system.
   Classes are applied in Elementor (Advanced → CSS Classes). Colours/fonts also live in the kit
   (Site Settings → Global Colors / Fonts); keep both in sync. */

:root {
	--cel-ink: #05070f;
	--cel-ink-2: #090d1b;
	--cel-surface: #0e1324;
	--cel-surface-2: #131a31;
	--cel-line: rgba(255, 255, 255, .10);
	--cel-line-2: rgba(255, 255, 255, .18);
	--cel-white: #f3f5f9;
	--cel-text: #c2c8d6;
	--cel-muted: #8790a6;
	--cel-amber: #ffb400;
	--cel-amber-soft: #ffd27a;
	--cel-orange: #ff6a00;
	--cel-blue: #2a4dff;
	--cel-navy: #0d0072;
	--cel-display: "Jost", "Futura", system-ui, sans-serif;
	--cel-body: "Inter", system-ui, sans-serif;
	--cel-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;
	--cel-cut: 12px;
	--cel-radius: 8px;
	--cel-header-h: 76px;
}

html { scroll-behavior: smooth; }
body {
	background: var(--cel-ink);
	color: var(--cel-text);
	font-family: var(--cel-body);
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--cel-amber); color: #000; }
a { color: var(--cel-amber); }
a:hover { color: var(--cel-white); }
.site-main, .page-content { margin: 0; }

/* ---------- Sections ---------- */

body .cel-sec {
	--padding-top: clamp(84px, 9vw, 140px);
	--padding-bottom: clamp(84px, 9vw, 140px);
	--padding-left: 24px;
	--padding-right: 24px;
	position: relative;
	overflow: hidden;
}
body .cel-sec--tight { --padding-top: clamp(56px, 6vw, 88px); --padding-bottom: clamp(56px, 6vw, 88px); }
body .cel-sec--alt { background-color: var(--cel-ink-2); }
body .cel-sec--line { border-top: 1px solid var(--cel-line); }
body .cel-sec > .e-con-inner { position: relative; z-index: 1; }

/* soft light fields (ORiS-style glows) */
body .cel-glow-amber { background-image: radial-gradient(60% 50% at 85% 10%, rgba(255, 140, 0, .14), transparent 70%); }
body .cel-glow-blue { background-image: radial-gradient(55% 60% at 10% 30%, rgba(42, 77, 255, .18), transparent 70%); }
body .cel-glow-both {
	background-image:
		radial-gradient(45% 55% at 0% 20%, rgba(42, 77, 255, .18), transparent 70%),
		radial-gradient(40% 45% at 100% 90%, rgba(255, 140, 0, .12), transparent 70%);
}

/* star field */
body .cel-stars::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: .55;
	background-image:
		radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 28% 72%, #fff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 44% 34%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 63% 12%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 78% 58%, #fff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 91% 26%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 6% 88%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 54% 92%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 35% 8%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 84% 84%, #fff 50%, transparent 51%);
	background-size: 520px 520px;
}

/* ---------- Hero ---------- */

body .cel-hero {
	--padding-top: calc(var(--cel-header-h) + clamp(72px, 10vh, 140px));
	--padding-bottom: clamp(220px, 30vw, 420px);
	min-height: 100vh;
	background-color: var(--cel-ink);
}
body .cel-hero--page { min-height: 0; --padding-bottom: clamp(72px, 8vw, 120px); }
body .cel-hero .elementor-widget-image.cel-hero-planet {
	position: absolute;
	left: 50%;
	bottom: -2px;
	width: min(1700px, 140vw);
	max-width: none;
	transform: translateX(-50%);
	z-index: 0;
	pointer-events: none;
}
body .cel-hero .cel-hero-planet img { width: 100%; height: auto; opacity: .95; }

/* ---------- Type ---------- */

body .cel-h1 .elementor-heading-title,
body .cel-h2 .elementor-heading-title,
body .cel-h3 .elementor-heading-title {
	font-family: var(--cel-display);
	font-weight: 500;
	color: var(--cel-white);
	letter-spacing: -.02em;
}
body .cel-h1 .elementor-heading-title { font-size: clamp(42px, 6.2vw, 92px); line-height: 1.0; }
body .cel-h2 .elementor-heading-title { font-size: clamp(32px, 4.2vw, 58px); line-height: 1.06; }
body .cel-h3 .elementor-heading-title { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.15; letter-spacing: -.01em; }
body .cel-h4 .elementor-heading-title { font-family: var(--cel-display); font-size: 20px; font-weight: 500; color: var(--cel-white); line-height: 1.3; }
body .cel-hl { color: var(--cel-amber); }
body .cel-hl--grad {
	background: linear-gradient(90deg, var(--cel-amber-soft), var(--cel-amber) 45%, var(--cel-orange));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

body .cel-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--cel-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--cel-muted);
}
body .cel-eyebrow .elementor-heading-title::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: none;
	background: var(--cel-amber);
	box-shadow: 0 0 12px rgba(255, 180, 0, .8);
}
body .cel-pill .elementor-heading-title {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid rgba(255, 180, 0, .35);
	border-radius: 999px;
	background: rgba(255, 180, 0, .08);
	color: var(--cel-amber-soft);
	font-family: var(--cel-mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body .cel-text, body .cel-text p, body .cel-lead, body .cel-lead p { font-family: var(--cel-body); color: var(--cel-text); line-height: 1.7; }
body .cel-text { font-size: 16px; }
body .cel-text p:last-child, body .cel-lead p:last-child { margin-bottom: 0; }
body .cel-lead, body .cel-lead p { font-size: clamp(17px, 1.35vw, 20px); line-height: 1.6; }
body .cel-muted, body .cel-muted p { color: var(--cel-muted); }
body .cel-center { text-align: center; }
body .cel-measure { max-width: 720px; }
body .cel-measure-wide { max-width: 880px; }
body .cel-statement p {
	font-family: var(--cel-display);
	font-size: clamp(26px, 3.1vw, 44px);
	line-height: 1.22;
	letter-spacing: -.01em;
	color: var(--cel-white);
	margin: 0;
}
body .cel-statement .cel-dim { color: rgba(243, 245, 249, .32); }
body .cel-mono, body .cel-mono p { font-family: var(--cel-mono); font-size: 13px; letter-spacing: .04em; }
body .cel-role .elementor-heading-title { font-family: var(--cel-mono); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--cel-amber); }

/* ---------- Buttons (cut-corner, Grounda-style) ---------- */

body .cel-btn .elementor-button {
	font-family: var(--cel-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1;
	text-transform: uppercase;
	padding: 17px 26px;
	border: 0;
	border-radius: 0;
	background: var(--cel-amber);
	color: #0b0b0b;
	cursor: pointer;
	clip-path: polygon(var(--cel-cut) 0, 100% 0, 100% calc(100% - var(--cel-cut)), calc(100% - var(--cel-cut)) 100%, 0 100%, 0 var(--cel-cut));
	transition: background-color .2s ease, color .2s ease;
}
body .cel-btn .elementor-button:hover, body .cel-btn .elementor-button:focus-visible { background: var(--cel-white); color: #0b0b0b; }
body .cel-btn .elementor-button-content-wrapper { gap: 14px; align-items: center; }
body .cel-btn .elementor-button-icon { transition: transform .2s ease; font-size: 12px; }
body .cel-btn .elementor-button-icon svg { width: 12px; height: 12px; fill: currentColor; }
body .cel-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
body .cel-btn--light .elementor-button { background: var(--cel-white); }
body .cel-btn--light .elementor-button:hover { background: var(--cel-amber); }
body .cel-btn--ghost .elementor-button { background: rgba(255, 255, 255, .07); color: var(--cel-white); }
body .cel-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .16); color: var(--cel-white); }
body .cel-btn--sm .elementor-button { padding: 13px 20px; font-size: 12px; }

/* circle-arrow text link (ORiS-style) */
body .cel-link .elementor-button {
	background: none;
	padding: 0;
	border-radius: 0;
	color: var(--cel-white);
	font-family: var(--cel-body);
	font-size: 15px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
body .cel-link .elementor-button-content-wrapper { gap: 14px; align-items: center; }
body .cel-link .elementor-button-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--cel-line-2);
	border-radius: 50%;
	font-size: 12px;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
body .cel-link .elementor-button-icon svg { width: 12px; height: 12px; fill: currentColor; }
body .cel-link .elementor-button:hover { color: var(--cel-amber); background: none; }
body .cel-link .elementor-button:hover .elementor-button-icon { background: var(--cel-amber); border-color: var(--cel-amber); color: #000; }

body .cel-btn-row { --flex-wrap: wrap; --gap: 14px; --row-gap: 14px; --column-gap: 14px; }

/* ---------- Cards ---------- */

body .cel-card {
	--padding-top: 28px;
	--padding-right: 28px;
	--padding-bottom: 30px;
	--padding-left: 28px;
	--gap: 16px;
	--row-gap: 16px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
	border: 1px solid var(--cel-line);
	border-radius: var(--cel-radius);
	transition: border-color .25s ease, transform .25s ease;
}
body .cel-card:hover { border-color: rgba(255, 180, 0, .35); }
body .cel-card--flush { --padding-top: 12px; --padding-right: 12px; --padding-left: 12px; }
body .cel-card--flush > .elementor-widget:not(.cel-card-img) { padding: 0 14px; }
body .cel-card-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}
body .cel-card-img--wide img { aspect-ratio: 16 / 10; }

/* image card with text over it */
body .cel-tile {
	position: relative;
	min-height: 440px;
	--padding-top: 28px;
	--padding-right: 28px;
	--padding-bottom: 28px;
	--padding-left: 28px;
	--justify-content: flex-end;
	--gap: 10px;
	--row-gap: 10px;
	border-radius: var(--cel-radius);
	overflow: hidden;
	border: 1px solid var(--cel-line);
	background-size: cover;
	background-position: center;
}
body .cel-tile::before {
	content: "" !important;
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 7, 15, .05) 25%, rgba(5, 7, 15, .92) 78%) !important;
	opacity: 1 !important;
	z-index: 0;
	transition: background .3s ease;
}
body .cel-tile > .elementor-element { position: relative; z-index: 1; }

/* spec cards (label + mono value) */
body .cel-spec {
	--padding-top: 16px;
	--padding-right: 18px;
	--padding-bottom: 18px;
	--padding-left: 18px;
	--gap: 10px;
	--row-gap: 10px;
	background: rgba(255, 255, 255, .035);
	border: 1px solid var(--cel-line);
	border-radius: 4px;
}
body .cel-spec-label .elementor-heading-title { font-family: var(--cel-body); font-size: 12.5px; font-weight: 400; color: var(--cel-muted); }
body .cel-spec-value .elementor-heading-title { font-family: var(--cel-mono); font-size: clamp(17px, 1.5vw, 22px); font-weight: 400; color: var(--cel-white); line-height: 1.25; }
body .cel-spec-value .elementor-heading-title small { display: block; margin-top: 4px; font-size: 12px; color: var(--cel-muted); }

/* product render in a tick ring */
body .cel-ring-img {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	width: 100%;
	max-width: 620px;
	margin-inline: auto;
}
body .cel-ring-img::before, body .cel-ring-img::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	pointer-events: none;
}
body .cel-ring-img::before {
	background: repeating-conic-gradient(rgba(255, 255, 255, .34) 0 .45deg, transparent .45deg 4deg);
	-webkit-mask: radial-gradient(circle closest-side, transparent 86%, #000 86.5%, #000 95%, transparent 95.5%);
	mask: radial-gradient(circle closest-side, transparent 86%, #000 86.5%, #000 95%, transparent 95.5%);
	animation: cel-spin 160s linear infinite;
}
body .cel-ring-img::after { background: radial-gradient(circle closest-side, rgba(42, 77, 255, .28), rgba(255, 140, 0, .06) 55%, transparent 80%); }
body .cel-ring-img .elementor-widget-container { position: relative; z-index: 1; width: 74%; }
body .cel-ring-img img { width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .55)); }
@keyframes cel-spin { to { transform: rotate(360deg); } }

/* numbered feature rows */
body .cel-feature {
	--gap: 32px;
	--column-gap: 32px;
	--row-gap: 20px;
	--padding-top: 32px;
	--padding-bottom: 32px;
	border-top: 1px solid var(--cel-line);
}
body .cel-feature:last-child { border-bottom: 1px solid var(--cel-line); }
body .cel-num .elementor-heading-title { font-family: var(--cel-mono); font-size: 13px; color: var(--cel-amber); letter-spacing: .1em; }
body .cel-feature-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; display: block; }

/* rounded media */
body .cel-media img { width: 100%; height: auto; border-radius: var(--cel-radius); display: block; }
body .cel-media--cover img { aspect-ratio: 4 / 3; object-fit: cover; }
body .cel-media--fade img {
	-webkit-mask: linear-gradient(180deg, #000 70%, transparent);
	mask: linear-gradient(180deg, #000 70%, transparent);
}
body .cel-float img { filter: drop-shadow(0 40px 60px rgba(0, 0, 0, .6)); }

/* full-bleed scene image at the end of a section */
body .cel-scene img {
	width: 100%;
	max-width: 1280px;
	height: auto;
	margin-inline: auto;
	display: block;
	-webkit-mask: radial-gradient(ellipse 70% 80% at 50% 45%, #000 55%, transparent 100%);
	mask: radial-gradient(ellipse 70% 80% at 50% 45%, #000 55%, transparent 100%);
}

/* CTA band */
body .cel-cta {
	background-size: cover;
	background-position: center;
	border-top: 1px solid var(--cel-line);
	border-bottom: 1px solid var(--cel-line);
}
body .cel-cta::before {
	content: "" !important;
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 75% 70% at 50% 50%, rgba(5, 7, 15, .45), rgba(5, 7, 15, .9)) !important;
	opacity: 1 !important;
	z-index: 0;
}

/* team */
body .cel-member {
	--gap: 32px;
	--column-gap: 36px;
	--row-gap: 20px;
	--padding-top: 28px;
	--padding-right: 28px;
	--padding-bottom: 28px;
	--padding-left: 28px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid var(--cel-line);
	border-radius: var(--cel-radius);
}
body .cel-member-photo img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 6px;
	filter: grayscale(.25) contrast(1.05);
	display: block;
}
body .cel-advisor-photo img {
	width: 112px;
	height: 112px;
	object-fit: cover;
	border-radius: 50%;
	border: 1px solid var(--cel-line-2);
}

/* partner logos */
body .cel-logo-tile {
	--padding-top: 20px;
	--padding-right: 24px;
	--padding-bottom: 20px;
	--padding-left: 24px;
	--justify-content: center;
	--align-items: center;
	min-height: 120px;
	background: #ffffff;
	border-radius: 6px;
}
body .cel-logo-tile img {
	max-height: 64px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .85;
	transition: filter .25s ease, opacity .25s ease;
}
body .cel-logo-tile:hover img { filter: none; opacity: 1; }

/* value cards with icons */
body .elementor-widget-image.cel-icon {
	width: 76px;
	height: 76px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 180, 0, .1);
	border: 1px solid rgba(255, 180, 0, .35);
}
body .cel-icon img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

/* contact info */
body .cel-contact-item .elementor-heading-title a { color: var(--cel-white); text-decoration: none; }
body .cel-contact-item .elementor-heading-title a:hover { color: var(--cel-amber); }
body .cel-dl p { margin: 0; padding: 12px 0; border-top: 1px solid var(--cel-line); display: flex; justify-content: space-between; gap: 24px; font-size: 14.5px; }
body .cel-dl p:last-child { border-bottom: 1px solid var(--cel-line); }
body .cel-dl p span:first-child { color: var(--cel-muted); font-family: var(--cel-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding-top: 3px; }
body .cel-dl p span:last-child { color: var(--cel-white); text-align: right; }

/* ---------- Header ---------- */

body .cel-site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
.admin-bar .cel-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cel-site-header { top: 46px; } }
body .cel-header {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 24px;
	--padding-right: 24px;
	--min-height: var(--cel-header-h);
	background: rgba(5, 7, 15, .55);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid transparent;
	transition: background-color .3s ease, border-color .3s ease;
}
html.cel-scrolled .cel-header { background: rgba(5, 7, 15, .82); border-bottom-color: var(--cel-line); }
body .cel-logo img { height: 30px; width: auto; filter: brightness(0) invert(1); display: block; }
body .cel-header .cel-header-nav { flex: 1 1 auto; }

body .cel-nav__list { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; justify-content: center; }
body .cel-nav__list a {
	position: relative;
	color: #d7dbe6;
	font-family: var(--cel-body);
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
	padding: 8px 0;
	transition: color .2s ease;
}
body .cel-nav__list a:hover, body .cel-nav__list .current-menu-item > a { color: var(--cel-white); }
body .cel-nav__list .current-menu-item > a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -4px;
	width: 5px;
	height: 5px;
	transform: translateX(-50%);
	background: var(--cel-amber);
	box-shadow: 0 0 10px var(--cel-amber);
}
body .cel-nav-toggle {
	display: none;
	width: 44px;
	height: 44px;
	margin-left: auto;
	padding: 0;
	border: 1px solid var(--cel-line-2);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	position: relative;
}
body .cel-nav-toggle span { position: absolute; left: 13px; right: 13px; height: 1.5px; background: var(--cel-white); transition: transform .25s ease, top .25s ease; }
body .cel-nav-toggle span:first-child { top: 17px; }
body .cel-nav-toggle span:last-child { top: 25px; }
html.cel-nav-open .cel-nav-toggle span:first-child { top: 21px; transform: rotate(45deg); }
html.cel-nav-open .cel-nav-toggle span:last-child { top: 21px; transform: rotate(-45deg); }
body .cel-nav-panel {
	position: fixed;
	inset: var(--cel-header-h) 0 0 0;
	z-index: 999;
	padding: 40px 24px;
	background: rgba(5, 7, 15, .97);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	display: flex;
	flex-direction: column;
	gap: 32px;
}
body .cel-nav-panel[hidden] { display: none; }
body .cel-nav-panel__list { list-style: none; margin: 0; padding: 0; }
body .cel-nav-panel__list a {
	display: block;
	padding: 16px 0;
	border-bottom: 1px solid var(--cel-line);
	color: var(--cel-white);
	font-family: var(--cel-display);
	font-size: 30px;
	text-decoration: none;
}
body .cel-nav-panel__cta { font-family: var(--cel-mono); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: var(--cel-amber); text-decoration: none; }

@media (max-width: 1024px) {
	body .cel-nav { display: none; }
	body .cel-nav-toggle { display: block; }
	body .cel-header .cel-header-cta { display: none; }
}

/* ---------- Footer ---------- */

body .cel-footer { --padding-top: 0; --padding-bottom: 0; --padding-left: 24px; --padding-right: 24px; border-top: 1px solid var(--cel-line); background: var(--cel-ink); }
body .cel-footer-grid > .e-con-inner, body .cel-footer-grid { --gap: 0; --row-gap: 0; --column-gap: 0; }
body .cel-footer-col {
	--padding-top: 56px;
	--padding-bottom: 56px;
	--padding-left: 32px;
	--padding-right: 32px;
	--gap: 18px;
	--row-gap: 18px;
	border-left: 1px solid var(--cel-line);
}
body .cel-footer-col:last-child { border-right: 1px solid var(--cel-line); }
body .cel-footer-links p { margin: 0; line-height: 2; }
body .cel-footer-links a { color: var(--cel-white); text-decoration: none; font-size: 16px; }
body .cel-footer-links a:hover { color: var(--cel-amber); }
body .cel-footer-bottom {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 32px;
	--padding-right: 32px;
	border-top: 1px solid var(--cel-line);
	border-left: 1px solid var(--cel-line);
	border-right: 1px solid var(--cel-line);
}
body .cel-footer-bottom p { margin: 0; font-size: 12.5px; color: var(--cel-muted); }
@media (max-width: 767px) {
	body .cel-footer-col, body .cel-footer-col:last-child { border-left: 0; border-right: 0; border-bottom: 1px solid var(--cel-line); --padding-left: 0; --padding-right: 0; --padding-top: 40px; --padding-bottom: 40px; }
	body .cel-footer-bottom { border-left: 0; border-right: 0; --padding-left: 0; --padding-right: 0; }
}

/* ---------- Contact form ---------- */

body .cel-form { display: grid; gap: 18px; }
body .cel-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
body .cel-form__field { display: grid; gap: 8px; margin: 0; }
body .cel-form__field > span { font-family: var(--cel-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cel-muted); }
body .cel-form input[type="text"], body .cel-form input[type="email"], body .cel-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--cel-line-2);
	border-radius: 4px;
	background: rgba(255, 255, 255, .03);
	color: var(--cel-white);
	font-family: var(--cel-body);
	font-size: 15px;
	transition: border-color .2s ease, background-color .2s ease;
}
body .cel-form input:focus, body .cel-form textarea:focus { outline: none; border-color: var(--cel-amber); background: rgba(255, 255, 255, .05); }
body .cel-form textarea { resize: vertical; min-height: 150px; }
body .cel-form__hp { position: absolute !important; left: -9999px !important; }
body .cel-form .elementor-button { justify-self: start; }
body .cel-form__notice { margin: 0; padding: 14px 16px; border-radius: 4px; font-size: 14.5px; }
body .cel-form__notice--ok { background: rgba(56, 210, 140, .1); border: 1px solid rgba(56, 210, 140, .4); color: #b8f3d8; }
body .cel-form__notice--err { background: rgba(255, 106, 0, .1); border: 1px solid rgba(255, 106, 0, .45); color: #ffd0b0; }
@media (max-width: 600px) { .cel-form__row { grid-template-columns: 1fr; } }

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
	:root { --cel-header-h: 64px; }
	body .cel-hero { min-height: 0; --padding-bottom: 180px; }
	body .cel-hero--page { --padding-bottom: 64px; }
	body .cel-tile { min-height: 360px; }
	body .cel-member-photo img { aspect-ratio: 1; max-width: 220px; }
	body .cel-ring-img { max-width: 420px; }
}

@media (prefers-reduced-motion: reduce) {
	body .cel-ring-img::before { animation: none; }
	html { scroll-behavior: auto; }
}

/* ---------- Refinements (review 1) ---------- */
body .cel-hero { --padding-bottom: clamp(300px, 36vw, 520px); }
body .cel-hero--page { --padding-bottom: clamp(72px, 8vw, 120px); }
body .cel-btn--ghost .elementor-button {
	background: rgba(9, 13, 27, .72);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}
body .cel-btn--ghost .elementor-button:hover { background: rgba(20, 26, 48, .9); }
body .elementor-widget-image.cel-logo { text-align: left; }
body .cel-footer-links a { overflow-wrap: anywhere; }
@media (max-width: 767px) {
	body .cel-hero { --padding-bottom: 200px; }
	body .cel-hero--page { --padding-bottom: 64px; }
}

/* ---------- Refinements (review 2) ---------- */
body .cel-nav-toggle,
body .cel-nav-toggle:hover,
body .cel-nav-toggle:focus { background: transparent; color: var(--cel-white); border-color: var(--cel-line-2); }
body .cel-nav-toggle:focus-visible { outline: 2px solid var(--cel-amber); outline-offset: 2px; }
html.cel-nav-open .cel-nav-toggle { border-color: var(--cel-amber); }
@media (max-width: 767px) {
	body .cel-spec-value .elementor-heading-title { font-size: 16px; }
	body .cel-spec { --padding-left: 14px; --padding-right: 14px; }
}

/* Button colours must survive Elementor's per-element defaults (editor applies the accent global). */
body .cel-btn .elementor-button { background-color: var(--cel-amber) !important; color: #0b0b0b !important; fill: #0b0b0b !important; }
body .cel-btn .elementor-button:hover, body .cel-btn .elementor-button:focus-visible { background-color: var(--cel-white) !important; color: #0b0b0b !important; }
body .cel-btn--light .elementor-button { background-color: var(--cel-white) !important; }
body .cel-btn--light .elementor-button:hover { background-color: var(--cel-amber) !important; }
body .cel-btn--ghost .elementor-button { background-color: rgba(9, 13, 27, .72) !important; color: var(--cel-white) !important; fill: var(--cel-white) !important; }
body .cel-btn--ghost .elementor-button:hover { background-color: rgba(20, 26, 48, .92) !important; color: var(--cel-white) !important; }
body .cel-link .elementor-button { background-color: transparent !important; color: var(--cel-white) !important; fill: var(--cel-white) !important; }
body .cel-link .elementor-button:hover { color: var(--cel-amber) !important; }
body .cel-link .elementor-button:hover .elementor-button-icon { color: #000; fill: #000; }
