/**
 * AIContestList Studio — below the workspace.
 * What it is + how it works (side by side), open calls (a deadline timeline the cards
 * hang from), the Gallery strip, models/sizes/pricing, FAQ.
 * 0.1.20: headings say what a section is; the line in the house voice sits under the
 * heading as .aicl-below__sub.
 * Same language as the workspace and the homepage: dark wall, Instrument Serif titles,
 * Iris as the one colour, the AI gradient only as a hairline (here: the wire).
 * Motion: one entrance as each section arrives; the open calls drift by as a slow reel
 * (studio-below.js), the Gallery strip scrolls natively; hover lift.
 * No backdrop blur and no large soft shadows (they made neighbouring panels re-blur).
 */
.aicl-below {
	--aicl-glide: 460ms cubic-bezier(.16, 1, .3, 1);
	position: relative; isolation: isolate; color: var(--text-primary);
	padding: clamp(56px, 8vw, 112px) 0 clamp(48px, 6vw, 88px);
	background:
		radial-gradient(60% 40% at 50% 0%, rgba(108, 92, 231, .08), transparent 70%),
		var(--bg-canvas, #08090B);
	font-family: var(--font-sans);
	overflow-x: clip;
}
.aicl-below *, .aicl-below *::before, .aicl-below *::after { box-sizing: border-box; }
.aicl-below__inner { width: min(1320px, 100% - 2 * clamp(20px, 4vw, 48px)); margin-inline: auto; }
.aicl-below__kicker {
	margin: 0 0 12px; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--interactive-soft-text, #9F96FF);
}
.aicl-below__title {
	margin: 0; font-family: var(--font-serif); font-weight: 400; letter-spacing: -.01em; line-height: 1.04;
	font-size: clamp(2rem, 1.2rem + 2.6vw, 3.5rem);
}
/* The line in the house voice under a heading that says what the section is.
   Scoped (0,2,0) so the theme's .acl p (0,1,1) does not restyle it. */
.aicl-below .aicl-below__sub {
	margin: 0; max-width: 46ch; font-family: var(--font-serif); font-style: italic; font-weight: 400;
	font-size: clamp(1.125rem, 1rem + .5vw, 1.5rem); line-height: 1.3; letter-spacing: 0; color: var(--text-secondary);
}
.aicl-below .aicl-strip__head .aicl-below__sub { margin-top: 10px; }
.aicl-below__more {
	display: inline-flex; align-items: center; gap: 8px; color: var(--text-primary); text-decoration: none;
	font-size: .875rem; font-weight: 600; padding: 10px 0; border-bottom: 1px solid var(--overlay-white-16, rgba(255,255,255,.16));
	transition: border-color var(--motion-base) var(--ease-standard), gap var(--motion-slow) var(--ease-enter);
}
.aicl-below__more:hover { border-color: var(--interactive-soft-text, #9F96FF); gap: 12px; }
.aicl-below__more .aicl-icon { transition: transform var(--motion-slow) var(--ease-enter); }

/* -------------------------------------------------------------- open calls */
/* Specificity: the theme's element rules (.acl h1–h6, .acl p, .acl a) are (0,1,1) and
   used to win here — bold sans month names, purple card titles, a note that lost its
   centring. Everything inside the timeline is scoped under .aicl-calls (0,2,0). */
.aicl-calls__head { position: relative; display: grid; gap: 14px; justify-items: start; margin-bottom: clamp(28px, 4vw, 48px); }
.aicl-calls__live { margin: 6px 0 4px; max-width: 64ch; font-size: 1rem; line-height: 1.6; color: var(--text-secondary); }
.aicl-calls__live strong { color: var(--text-primary); font-weight: 600; font-variant-numeric: tabular-nums; }
.aicl-calls__live time { color: var(--text-primary); }

.aicl-calls__rail {
	--aicl-fl: 0px; --aicl-fr: 72px;
	position: relative; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; outline: none;
	padding: 6px 0 28px;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--aicl-fl), #000 calc(100% - var(--aicl-fr)), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--aicl-fl), #000 calc(100% - var(--aicl-fr)), transparent 100%);
	cursor: grab;
}
.aicl-calls__rail::-webkit-scrollbar { display: none; }
.aicl-calls__rail.is-dragging { cursor: grabbing; }
.aicl-calls__rail.is-dragging a { pointer-events: none; }
.aicl-calls__rail:not([data-start]) { --aicl-fl: 56px; }
.aicl-calls__rail[data-end] { --aicl-fr: 0px; }
.aicl-calls__lane {
	position: relative; display: flex; align-items: flex-start; gap: 0; width: max-content;
	/* 100% (not 100vw): the same edge as the heading above, scrollbar or not */
	padding-inline: max(clamp(20px, 4vw, 48px), (100% - 1320px) / 2);
}
/* the wire: the AI hairline every card hangs from */
.aicl-calls__lane::before {
	content: ""; position: absolute; left: 0; right: 0; top: 44px; height: 1px;
	background: linear-gradient(90deg, transparent, var(--acl-iris, #6C5CE7) 6%, var(--acl-ai-blue, #58C7FF) 50%, var(--acl-ai-pink, #FF79C6) 90%, transparent);
	opacity: .55; transform-origin: left center;
}
.aicl-calls .aicl-calls__now { position: relative; flex: none; width: 92px; height: 60px; margin: 0; padding: 0; }
.aicl-calls__now span { position: absolute; left: 0; top: 8px; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-primary); }
.aicl-calls__now::after { /* you are here: a small light on the wire */
	content: ""; position: absolute; left: 0; top: 40px; width: 9px; height: 9px; border-radius: 50%; background: var(--acl-white, #fff);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .08), 0 0 18px rgba(255, 255, 255, .5);
}
.aicl-calls .aicl-calls__months, .aicl-calls .aicl-calls__cards { list-style: none; margin: 0; padding: 0; }
.aicl-calls .aicl-calls__months > li, .aicl-calls .aicl-calls__cards > li { margin: 0; padding: 0; }
.aicl-calls__months { display: flex; gap: 28px; }
.aicl-calls__month { position: relative; flex: none; padding-left: 0; }
.aicl-calls .aicl-calls__month-name {
	position: relative; margin: 0 0 30px; height: 28px; padding: 0 0 0 16px;
	font-family: var(--font-serif); font-style: italic; font-weight: 400; font-size: 1.25rem; line-height: 28px;
	letter-spacing: 0; text-transform: none; color: var(--text-primary); white-space: nowrap;
}
.aicl-calls__month-name::before { /* a tick on the wire */
	content: ""; position: absolute; left: 0; top: 40px; width: 7px; height: 7px; border-radius: 50%;
	background: var(--bg-canvas, #08090B); border: 1px solid rgba(196, 188, 255, .7);
}
.aicl-calls__cards { display: flex; gap: 16px; }
.aicl-calls__cards > li { position: relative; flex: none; width: clamp(256px, 22vw, 292px); }
.aicl-calls__cards > li::before { /* the thread from the wire to the card */
	content: ""; position: absolute; left: 22px; top: -14px; width: 1px; height: 14px;
	background: linear-gradient(to bottom, rgba(196, 188, 255, .6), rgba(196, 188, 255, .15));
}

.aicl-call {
	position: relative; display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 236px; padding: 20px 20px 18px;
	border-radius: 18px; border: 1px solid rgba(255, 255, 255, .07);
	background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012) 60%), #101115;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 1px 2px rgba(0, 0, 0, .4);
	transition: transform var(--motion-stage, 420ms) var(--ease-enter), border-color var(--motion-slow) var(--ease-standard), background-color var(--motion-slow) var(--ease-standard), opacity .5s var(--ease-enter);
}
.aicl-call::after { /* the light that comes on when you look at it */
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: radial-gradient(70% 50% at 30% 0%, rgba(159, 150, 255, .16), transparent 70%);
	opacity: 0; transition: opacity var(--motion-stage, 420ms) var(--ease-enter);
}
@media (hover: hover) {
	.aicl-call:hover { transform: translateY(-4px); border-color: rgba(159, 150, 255, .32); }
	.aicl-call:hover::after { opacity: 1; }
}
.aicl-call:focus-within { border-color: rgba(159, 150, 255, .42); }
.aicl-calls .aicl-call__when { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0; }
.aicl-call__day { font-family: var(--font-serif); font-size: 1.875rem; line-height: 1; letter-spacing: -.01em; color: var(--text-primary); }
.aicl-call__day--tba { font-size: 1.375rem; color: var(--text-secondary); }
.aicl-call__left { font-size: .75rem; font-weight: 600; color: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.aicl-call[data-state="closing-soon"] .aicl-call__left { color: #FFB86B; }
.aicl-call[data-state="closing-soon"] .aicl-call__left::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #FFB86B; vertical-align: 1px; box-shadow: 0 0 10px rgba(255, 184, 107, .6); }
.aicl-calls .aicl-call__title {
	margin: 4px 0 0; padding: 0; font-family: var(--font-sans); font-size: 1rem; font-weight: 600; font-style: normal; line-height: 1.35; letter-spacing: -.005em; text-transform: none;
	color: var(--text-primary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.aicl-calls .aicl-call__link,
.aicl-calls .aicl-call__link:hover,
.aicl-calls .aicl-call__link:focus,
.aicl-calls .aicl-call__link:active,
.aicl-calls .aicl-call__link:visited { color: var(--text-primary); text-decoration: none; box-shadow: none; }
.aicl-call__link::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 0; } /* whole card opens the listing */
.aicl-call__link:focus-visible { outline: none; }
.aicl-call__link:focus-visible::before { outline: 2px solid var(--focus-outline, #9F96FF); outline-offset: 3px; }
.aicl-calls .aicl-call__org { margin: 0; padding: 0; font-size: .8125rem; color: var(--text-tertiary); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.aicl-calls .aicl-call__facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.aicl-calls .aicl-call__facts li { margin: 0; padding: 4px 9px; border-radius: 999px; font-size: .6875rem; font-weight: 500; line-height: 1.4; color: var(--text-secondary); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }
.aicl-call__actions { position: relative; z-index: 1; margin-top: auto; padding-top: 8px; }
.aicl-calls .aicl-call__create {
	display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border-radius: 999px;
	color: var(--interactive-soft-text, #9F96FF); font-size: .8125rem; font-weight: 600; text-decoration: none;
	border: 1px solid rgba(159, 150, 255, .32); background: linear-gradient(180deg, rgba(108, 92, 231, .2), rgba(108, 92, 231, .08));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
	transition: color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);
}
.aicl-calls .aicl-call__create:hover { color: #fff; text-decoration: none; border-color: rgba(159, 150, 255, .6); background: linear-gradient(180deg, rgba(108, 92, 231, .5), rgba(108, 92, 231, .3)); }
.aicl-call__create:active { transform: scale(.97); }
.aicl-call__create .aicl-icon { transition: transform var(--motion-slow) var(--ease-enter); }
.aicl-call__create:hover .aicl-icon { transform: rotate(-12deg) scale(1.1); }
.aicl-calls .aicl-calls__note { margin: 4px auto 0; padding: 0; max-width: none; text-align: left; font-size: .8125rem; line-height: 1.6; color: var(--text-tertiary); }
.aicl-rail-arrows { display: flex; gap: 8px; }

/* -------------------------------------------------- the reel (0.1.9.3) */
/* studio-below.js turns the rail into a reel when the competitions don't fit on one
   screen: three copies of the lane side by side (the real one in the middle), moved
   with a transform. Fades on both sides end exactly at the column edge. */
.aicl-calls__rail.is-reel {
	overflow: hidden; touch-action: pan-y pinch-zoom; -webkit-user-select: none; user-select: none;
	-webkit-mask-image: linear-gradient(to right, transparent 0, rgba(0, 0, 0, .22) calc(var(--aicl-fl) * .35), rgba(0, 0, 0, .7) calc(var(--aicl-fl) * .72), #000 var(--aicl-fl), #000 calc(100% - var(--aicl-fr)), rgba(0, 0, 0, .7) calc(100% - var(--aicl-fr) * .72), rgba(0, 0, 0, .22) calc(100% - var(--aicl-fr) * .35), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, rgba(0, 0, 0, .22) calc(var(--aicl-fl) * .35), rgba(0, 0, 0, .7) calc(var(--aicl-fl) * .72), #000 var(--aicl-fl), #000 calc(100% - var(--aicl-fr)), rgba(0, 0, 0, .7) calc(100% - var(--aicl-fr) * .72), rgba(0, 0, 0, .22) calc(100% - var(--aicl-fr) * .35), transparent 100%);
}
@supports (overflow: clip) { .aicl-calls__rail.is-reel { overflow: clip; } } /* clip: focus can never scroll it */
.aicl-calls__rail.is-reel a, .aicl-calls__rail.is-reel svg { -webkit-user-drag: none; }
.aicl-calls__track { display: flex; width: max-content; } /* no will-change: see studio-below.js */
.aicl-calls__rail.is-reel .aicl-calls__lane { flex: none; padding-inline: var(--aicl-reel-l, 120px) var(--aicl-reel-r, 120px); }
/* the copy before Today waits until it can't pop into view */
.aicl-calls__rail.is-reel .aicl-calls__lane.is-before { opacity: 0; transition: opacity .6s var(--ease-enter); }
.aicl-calls__rail.is-reel.is-primed .aicl-calls__lane.is-before { opacity: 1; }
/* each lap's wire fades out after its last card and in again before Today */
.aicl-calls__rail.is-reel .aicl-calls__lane::before {
	background: linear-gradient(90deg, transparent 0, var(--acl-iris, #6C5CE7) var(--aicl-reel-l, 120px), var(--acl-ai-blue, #58C7FF) 50%, var(--acl-ai-pink, #FF79C6) calc(100% - var(--aicl-reel-r, 120px)), transparent 100%);
	transition: transform 1.6s var(--ease-enter) .15s, opacity 1s var(--ease-enter) .15s;
}
/* month names stick to the column edge until the next month pushes them on */
.aicl-calls__rail.is-reel .aicl-calls__month-label { display: inline-block; }
/* Today breathes, slowly; it holds its breath while paused */
.aicl-calls__rail.is-reel .aicl-calls__now::before {
	content: ""; position: absolute; left: 0; top: 40px; width: 9px; height: 9px; border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75); opacity: 0; pointer-events: none;
	animation: aicl-beacon 3.6s cubic-bezier(.22, .7, .3, 1) infinite;
}
.aicl-calls__rail.is-reel.is-paused .aicl-calls__now::before { animation-play-state: paused; }
@keyframes aicl-beacon { 0% { opacity: .6; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(3.4); } }
/* entrance: Today, the wire draws, the months, then the cards hang on one by one */
.aicl-calls__rail.is-reel .aicl-calls__now { transition: opacity .8s var(--ease-enter); }
.aicl-calls__rail.is-reel .aicl-calls__month-name { transition: opacity .8s var(--ease-enter) .35s; }
.aicl-calls__rail.is-reel .aicl-calls__cards > li {
	transform-origin: 22px -14px;
	transition: opacity .8s var(--ease-enter), transform 1.1s var(--ease-enter), filter .8s var(--ease-enter);
	transition-delay: calc(.45s + var(--i, 0) * 90ms);
}
.aicl-calls__rail.is-reel:not(.is-in) .aicl-calls__now,
.aicl-calls__rail.is-reel:not(.is-in) .aicl-calls__month-name { opacity: 0; }
.aicl-calls__rail.is-reel:not(.is-in) .aicl-calls__lane::before { transform: scaleX(0); opacity: 0; }
.aicl-calls__rail.is-reel:not(.is-in) .aicl-calls__cards > li { opacity: 0; transform: translateY(-12px) rotate(-1.6deg); filter: blur(4px); }
.aicl-calls__rail.is-settled *, .aicl-calls__rail.is-settled *::before, .aicl-calls__rail.is-settled *::after { transition: none !important; }
/* pointing at it: the card lights up, the others step back. Only for a mouse that
   actually moved over the reel (.is-hover), not for one the page scrolled under. */
@media (hover: hover) and (pointer: fine) {
	.aicl-calls__rail.is-reel.is-hover:not(.is-dragging):has(.aicl-call:hover) .aicl-call:not(:hover) { opacity: .42; }
	.aicl-calls__rail.is-reel:not(.is-hover) .aicl-call:hover { transform: none; border-color: rgba(255, 255, 255, .07); }
	.aicl-calls__rail.is-reel:not(.is-hover) .aicl-call:hover::after { opacity: 0; }
}
.aicl-calls__rail.is-reel.is-dragging .aicl-call { transform: none; }

/* controls: previous, next, pause — thin rings under the heading, on the right */
.aicl-calls .aicl-calls__ctrl { position: absolute; right: 0; bottom: 0; display: flex; gap: 8px; margin: 0; }
.aicl-calls .aicl-calls__ctrl[hidden] { display: none; }
.aicl-calls .aicl-calls__btn {
	-webkit-appearance: none; appearance: none; position: relative; display: inline-grid; place-items: center;
	width: 40px; height: 40px; min-width: 0; min-height: 0; margin: 0; padding: 0; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .14); background: transparent; box-shadow: none;
	color: var(--text-secondary); font: inherit; line-height: 1; text-transform: none; cursor: pointer;
	transition: color var(--motion-base, 200ms) var(--ease-standard), border-color var(--motion-base, 200ms) var(--ease-standard), background-color var(--motion-base, 200ms) var(--ease-standard), transform var(--motion-fast, 140ms) var(--ease-standard);
}
.aicl-calls .aicl-calls__btn:hover { color: #fff; border-color: rgba(159, 150, 255, .55); background: rgba(108, 92, 231, .16); box-shadow: none; }
.aicl-calls .aicl-calls__btn:active { transform: scale(.94); }
.aicl-calls .aicl-calls__btn:focus { outline: none; }
.aicl-calls .aicl-calls__btn:focus-visible { outline: 2px solid var(--focus-outline, #9F96FF); outline-offset: 3px; }
.aicl-calls__btn svg { display: block; width: 16px; height: 16px; pointer-events: none; }
.aicl-calls__btn--play svg { position: absolute; transition: opacity .25s var(--ease-standard), transform .4s var(--ease-enter); }
.aicl-calls__btn--play .is-play, .aicl-calls__btn--play.is-paused .is-pause { opacity: 0; transform: scale(.55) rotate(-30deg); }
.aicl-calls__btn--play.is-paused .is-play { opacity: 1; transform: none; }
/* touch screens swipe; they keep only the pause button */
@media (hover: none) and (pointer: coarse), (max-width: 520px) {
	.aicl-calls .aicl-calls__btn--step { display: none; }
}

/* entrance: the wire draws, then the cards develop in order (native rail only) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.aicl-calls__rail:not(.is-reel) .aicl-calls__lane::before { animation: aicl-wire linear both; animation-timeline: view(); animation-range: entry 0% cover 30%; }
		.aicl-calls__rail:not(.is-reel) .aicl-calls__cards > li { animation: aicl-hangin linear both; animation-timeline: view(inline); animation-range: entry 0% entry 80%; }
		.aicl-strip__rail > li { animation: aicl-hangin linear both; animation-timeline: view(inline); animation-range: entry 0% entry 90%; }
		.aicl-facts__list > div, .aicl-how__step, .aicl-faq__item { animation: aicl-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
	}
}
/* browsers without scroll timelines (Firefox): one entrance when the section arrives */
.aicl-below.is-js:not(.has-sda) .aicl-calls:not(.is-in) .aicl-calls__rail:not(.is-reel) .aicl-calls__cards > li { opacity: 0; transform: translateY(16px); }
.aicl-below.is-js:not(.has-sda) .aicl-calls__rail:not(.is-reel) .aicl-calls__cards > li { transition: opacity .7s var(--ease-enter), transform .9s var(--ease-enter); transition-delay: calc(var(--i, 0) * 60ms); }
@keyframes aicl-wire { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: .55; } }
@keyframes aicl-hangin { from { opacity: 0; transform: translateY(-14px) rotate(-1.2deg); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes aicl-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
/* ------------------------------------------------------------ gallery strip */
.aicl-strip { margin-top: clamp(64px, 8vw, 120px); }
.aicl-strip__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }
.aicl-strip__rail {
	display: flex; gap: 20px; margin: 0; padding: 8px max(clamp(20px, 4vw, 48px), (100vw - 1320px) / 2) 24px; list-style: none;
	overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
	scroll-padding-inline: max(clamp(20px, 4vw, 48px), (100vw - 1320px) / 2); /* snap to the padded edge, not the screen edge */
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 64px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 64px), transparent);
}
.aicl-strip__rail::-webkit-scrollbar { display: none; }
.aicl-strip__rail { --strip-h: clamp(150px, 15vw, 210px); }
.aicl-strip__rail > li { flex: none; scroll-snap-align: start; }

/* The works in the strip, as the Gallery shows them (its own stylesheet is not loaded
   here): one height, each at its own width and proportions — no crop, no frame. */
.aicl-below .aicl-gw { position: relative; width: calc(var(--strip-h, 180px) * var(--r, 1)); min-width: 110px; }
.aicl-below .aicl-gw__media { position: relative; display: block; aspect-ratio: var(--r, 1); overflow: hidden; border-radius: 3px; background: var(--tone, #16171b); box-shadow: 0 0 0 1px rgba(255,255,255,.06); }
.aicl-below .aicl-gw__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--gradient-ai, linear-gradient(90deg, #6C5CE7, #58C7FF, #FF79C6)); transform: scaleX(0); transform-origin: left center; transition: transform .8s var(--ease-enter); }
.aicl-below .aicl-gw__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1.4s var(--ease-enter); }
.aicl-below .aicl-gw__label { padding: 12px 0 0; }
.aicl-below .aicl-gw__no, .aicl-below .aicl-gw__badge { display: none; }
.aicl-below .aicl-gw__title { margin: 0; font-family: var(--font-serif); font-style: italic; font-weight: 400; font-size: 1rem; line-height: 1.25; letter-spacing: 0; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.aicl-below .aicl-gw__title a { color: var(--text-primary); text-decoration: none; }
.aicl-below .aicl-gw__meta { margin: 2px 0 0; font-size: .75rem; color: var(--text-tertiary); }
.aicl-below .aicl-gw__by { color: var(--text-secondary); }
@media (hover: hover) {
	.aicl-below .aicl-gw:hover .aicl-gw__media::after { transform: none; }
	.aicl-below .aicl-gw:hover .aicl-gw__img { transform: scale(1.03); }
}

/* ------------------------------------------------------------ facts + faq */
/* What it is (left) and how it works (right): first below the workspace. Whatever
   follows it (open calls, Gallery strip, facts) gets the usual section spacing. */
.aicl-intro:not(:first-child) { margin-top: clamp(72px, 9vw, 128px); }
.aicl-below .aicl-calls:not(:first-child) { margin-top: clamp(72px, 9vw, 128px); }
.aicl-below .aicl-how--stack { margin-top: 0; }
.aicl-below .aicl-how--stack .aicl-how__title { margin: 0 0 6px; font-size: clamp(1.375rem, 1.1rem + .8vw, 1.75rem); line-height: 1.15; }
.aicl-how--stack .aicl-how__steps { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 0; }
.aicl-how--stack .aicl-how__step {
	grid-template-columns: 3.25rem minmax(0, 1fr); column-gap: 8px; row-gap: 8px;
	padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.aicl-how--stack .aicl-how__step:last-child { border-bottom: 0; }
.aicl-how--stack .aicl-how__step::before { grid-column: 1; grid-row: 1 / span 2; padding-top: 2px; }
.aicl-how--stack .aicl-how__step > * { grid-column: 2; }
.aicl-how--stack .aicl-how__name { margin-top: 0; }
.aicl-facts { margin-top: clamp(72px, 9vw, 128px); }
.aicl-facts__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.aicl-facts__lede { margin: 18px 0 0; max-width: 40ch; font-size: 1rem; line-height: 1.6; color: var(--text-secondary); }
.aicl-facts__list { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.08); }
.aicl-facts__list > div { padding: 18px 16px 18px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.aicl-facts__list dt { margin: 0 0 6px; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-tertiary); }
.aicl-facts__list dd { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--text-primary); }
/* the definition: the one sentence a search result or an AI answer can lift whole */
.aicl-facts__about { margin: 22px 0 0; max-width: 44ch; font-size: 1.125rem; line-height: 1.6; color: var(--text-primary); text-wrap: pretty; }
.aicl-facts__about + .aicl-facts__lede { margin-top: 14px; font-size: .9375rem; color: var(--text-tertiary); }
.aicl-facts__list dd { overflow-wrap: anywhere; text-wrap: pretty; }

/* how it works: three steps on one rule, numbered by the list itself */
.aicl-how { margin-top: clamp(64px, 8vw, 112px); }
.aicl-how__title { font-size: clamp(1.75rem, 1.1rem + 1.8vw, 2.625rem); margin-bottom: 28px; }
.aicl-how__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3.5vw, 56px); counter-reset: aicl-step; border-top: 1px solid rgba(255,255,255,.08); }
.aicl-how__step { counter-increment: aicl-step; display: grid; gap: 10px; align-content: start; justify-items: start; padding-top: 24px; }
.aicl-how__step::before { content: counter(aicl-step, decimal-leading-zero); font-family: var(--font-serif); font-style: italic; font-size: 1.75rem; line-height: 1; color: var(--interactive-soft-text, #9F96FF); }
.aicl-how__name { margin: 4px 0 0; font-family: var(--font-sans); font-size: 1.0625rem; font-weight: 600; line-height: 1.35; letter-spacing: 0; color: var(--text-primary); }
.aicl-how__text { margin: 0; max-width: 46ch; font-size: .9375rem; line-height: 1.65; color: var(--text-secondary); text-wrap: pretty; }
.aicl-how__link { margin-top: 2px; }
.aicl-faq { margin-top: clamp(64px, 8vw, 112px); max-width: 920px; }
.aicl-faq__title { font-size: clamp(1.75rem, 1.1rem + 1.8vw, 2.625rem); margin-bottom: 24px; }
.aicl-faq__item { border-bottom: 1px solid rgba(255,255,255,.08); }
.aicl-faq__item summary {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none;
	font-size: 1.0625rem; font-weight: 500; line-height: 1.45; color: var(--text-primary);
	transition: color var(--motion-base) var(--ease-standard);
}
.aicl-faq__item summary::-webkit-details-marker { display: none; }
.aicl-faq__item summary:hover { color: #fff; }
.aicl-faq__sign { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); transition: background-color var(--motion-base) var(--ease-standard), transform var(--aicl-glide); }
.aicl-faq__sign::before, .aicl-faq__sign::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.5px; margin: -.75px 0 0 -5.5px; background: currentColor; border-radius: 2px; transition: transform var(--aicl-glide); }
.aicl-faq__sign::after { transform: rotate(90deg); }
.aicl-faq__item[open] .aicl-faq__sign { background: rgba(108, 92, 231, .35); transform: rotate(180deg); }
.aicl-faq__item[open] .aicl-faq__sign::after { transform: rotate(0deg); }
.aicl-faq__a { overflow: hidden; }
.aicl-faq__a p { margin: 0 0 24px; max-width: 70ch; font-size: .9375rem; line-height: 1.7; color: var(--text-secondary); }
.aicl-faq__a p.aicl-faq__more { margin-top: -12px; }
.aicl-faq__more a { color: var(--interactive-soft-text, #9F96FF); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(159, 150, 255, .4); text-underline-offset: 3px; transition: text-decoration-color var(--motion-base) var(--ease-standard); }
.aicl-faq__more a:hover { text-decoration-color: currentColor; }

@media (max-width: 960px) {
	.aicl-facts__grid { grid-template-columns: 1fr; }
	.aicl-facts__about { max-width: 60ch; }
	.aicl-how__steps { grid-template-columns: 1fr; gap: 0; }
	.aicl-how__step { padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
	.aicl-calls__lane { padding-inline: 20px; }
	.aicl-calls .aicl-calls__now { width: 64px; }
	.aicl-calls__cards > li { width: 252px; }
}
@media (max-width: 560px) {
	.aicl-facts__list { grid-template-columns: 1fr; }
	.aicl-how--stack .aicl-how__step { grid-template-columns: 2.5rem minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.aicl-below *, .aicl-below *::before, .aicl-below *::after { transition-duration: 1ms !important; animation: none !important; }
}

/* ------------------------------------------------ "Show in the Gallery" dialog */
.aicl-publish { width: min(860px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 24px; color: var(--text-primary); background: #101115; box-shadow: 0 0 0 1px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.07), 0 40px 100px -30px rgba(0,0,0,.9); overflow: auto; }
.aicl-publish::backdrop { background: rgba(4, 5, 8, .72); }
.aicl-publish[open] { animation: aicl-pub-in .42s cubic-bezier(.16,1,.3,1); }
.aicl-publish[open]::backdrop { animation: aicl-fade .3s ease both; }
.aicl-publish.is-closing { animation: aicl-pub-out .22s ease both; }
@keyframes aicl-pub-in { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes aicl-pub-out { to { opacity: 0; transform: translateY(8px) scale(.99); } }
@keyframes aicl-fade { from { opacity: 0; } }
.aicl-publish__form { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.aicl-publish__media { display: grid; place-items: center; padding: 32px; background: radial-gradient(70% 45% at 50% 0%, rgba(255,244,228,.12), transparent 80%), linear-gradient(180deg, #1d1e23, #141519); border-right: 1px solid rgba(255,255,255,.06); }
.aicl-publish__media img { display: block; max-width: 100%; max-height: 52vh; aspect-ratio: var(--r, 1); object-fit: cover; box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 0 0 2px rgba(0,0,0,.5), 0 14px 30px -12px rgba(0,0,0,.9); }
.aicl-publish__body { display: grid; gap: 14px; padding: 28px 28px 24px; }
.aicl-publish__kicker { margin: 0; font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--interactive-soft-text, #9F96FF); }
.aicl-publish__title { margin: -4px 0 0; font-family: var(--font-serif); font-weight: 400; font-size: 2rem; line-height: 1.05; }
.aicl-publish__lede { margin: 0 0 4px; font-size: .875rem; color: var(--text-secondary); }
.aicl-publish__field { display: grid; gap: 6px; }
.aicl-publish__label { font-size: .75rem; font-weight: 600; color: var(--text-secondary); }
.aicl-publish__field input, .aicl-publish__field textarea { width: 100%; padding: 11px 13px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.24); color: var(--text-primary); font: inherit; font-size: .9375rem; box-shadow: inset 0 1px 2px rgba(0,0,0,.35); transition: border-color .2s, box-shadow .2s; resize: vertical; }
.aicl-publish__field input:focus, .aicl-publish__field textarea:focus { outline: none; border-color: rgba(159,150,255,.55); box-shadow: inset 0 1px 2px rgba(0,0,0,.35), 0 0 0 4px rgba(108,92,231,.14); }
.aicl-publish__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aicl-publish__hint { margin: -6px 0 0; font-size: .75rem; color: var(--text-tertiary); overflow-wrap: anywhere; }
.aicl-publish__check { display: flex; gap: 10px; align-items: flex-start; font-size: .8125rem; line-height: 1.45; color: var(--text-primary); cursor: pointer; }
.aicl-publish__check input { margin-top: 2px; width: 16px; height: 16px; accent-color: #6C5CE7; flex: none; }
.aicl-publish__check small { display: block; margin-top: 2px; color: var(--text-tertiary); font-size: .75rem; }
.aicl-publish__error { margin: 0; padding: 10px 12px; border-radius: 10px; font-size: .8125rem; color: #ffd9de; background: rgba(199,68,85,.16); box-shadow: inset 0 0 0 1px rgba(199,68,85,.4); }
.aicl-publish__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 6px; }
@media (max-width: 720px) { .aicl-publish__form { grid-template-columns: 1fr; } .aicl-publish__media { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.06); padding: 20px; } .aicl-publish__media img { max-height: 32vh; } .aicl-publish__row { grid-template-columns: 1fr; } }
