/* Taste v1 art direction: warm research desk, asymmetric editorial grids. */
:root {
	--v1-bg: #f1eee6;
	--v1-paper: #fbfaf6;
	--v1-ink: #191b17;
	--v1-muted: #6f7069;
	--v1-line: #cbc6ba;
	--v1-accent: #a64f39;
	--v1-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--atlas-paper: var(--v1-bg);
	--atlas-ink: var(--v1-ink);
	--atlas-muted: var(--v1-muted);
	--atlas-rule: var(--v1-line);
	--atlas-blue: var(--v1-accent);
	--atlas-amber: var(--v1-accent);
	--atlas-green: var(--v1-accent);
	--atlas-red: var(--v1-accent);
	--taste-ink: var(--v1-ink);
	--taste-paper: var(--v1-bg);
	--taste-white: var(--v1-paper);
	--taste-signal: var(--v1-accent);
	--taste-rule-dark: #3c3d37;
}

html { scroll-behavior: smooth; }

body {
	background: var(--v1-bg);
	color: var(--v1-ink);
	font-family: Zad, system-ui, sans-serif;
}

::selection { background: var(--v1-accent); color: var(--v1-paper); }

a,
button,
input,
select,
summary {
	transition: color 300ms var(--v1-ease), background-color 300ms var(--v1-ease), border-color 300ms var(--v1-ease), opacity 300ms var(--v1-ease), transform 300ms var(--v1-ease);
}

a:active,
button:active { transform: scale(0.98); }

/* Navigation */
.aisi-site-header {
	background: color-mix(in srgb, var(--v1-bg) 94%, transparent);
	border-block-end: 1px solid var(--v1-line);
	color: var(--v1-ink);
	backdrop-filter: blur(14px);
}

.aisi-site-header .aisi-brand-lockup,
.aisi-site-header .aisi-brand-lockup--inverse { color: var(--v1-ink); }
.aisi-site-header .aisi-brand-lockup__copy small { color: var(--v1-muted); }

.aisi-site-header nav > a,
.aisi-header-more summary { color: var(--v1-muted); }

.aisi-site-header nav > a:hover,
.aisi-site-header nav > a:focus-visible,
.aisi-header-more summary:hover { background: transparent; color: var(--v1-ink); }

.aisi-journey-nav__link { padding-inline: 0.85rem; border-block-end-width: 1px; }
.aisi-journey-nav__link.is-current { border-block-end-color: var(--v1-accent); color: var(--v1-ink); }
.aisi-header-more summary::after { color: var(--v1-accent); }
.aisi-header-more > div { border-color: var(--v1-ink); background: var(--v1-paper); }
.aisi-header-more > div a { border-color: var(--v1-line); color: var(--v1-ink); }
.aisi-header-more > div a:hover { background: var(--v1-ink); color: var(--v1-paper); }

.aisi-site-header button { border-color: var(--v1-ink); color: var(--v1-ink); }
.aisi-mobile-nav { background: var(--v1-paper); border-color: var(--v1-line); }
.aisi-mobile-nav a { color: var(--v1-ink); }

.aisi-site-header form { border-color: var(--v1-line) !important; border-radius: 0 !important; background: var(--v1-paper) !important; }
.aisi-site-header form button { background: var(--v1-ink) !important; color: var(--v1-paper) !important; }

/* Homepage hero */
body.home #main { max-inline-size: 90rem; padding-inline: clamp(1rem, 3vw, 2.5rem); }

.aisi-taste-hero {
	min-block-size: min(48rem, calc(100dvh - 6rem));
	margin-block-start: clamp(1rem, 2vw, 2rem);
	border: 1px solid var(--v1-ink);
	background: var(--v1-paper);
	color: var(--v1-ink);
	overflow: clip;
}

.aisi-taste-hero::before { display: none; }

.aisi-taste-hero .aisi-atlas-kicker {
	padding: 0.9rem clamp(1rem, 2vw, 1.75rem);
	border-block-end: 1px solid var(--v1-line);
	color: var(--v1-muted);
	font-size: 0.7rem;
}

.aisi-taste-hero .aisi-atlas-hero-grid {
	grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
	min-block-size: 42rem;
}

.aisi-taste-hero__copy {
	justify-content: center;
	padding: clamp(2rem, 6vw, 6rem);
	border-inline-end: 1px solid var(--v1-line);
}

.aisi-taste-hero .aisi-atlas-hero-grid h1 {
	max-inline-size: 10ch;
	font-size: clamp(3rem, 5.6vw, 5.2rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.aisi-taste-hero__lede {
	max-inline-size: 38rem;
	margin-block-start: 1.75rem;
	color: var(--v1-muted);
	font-size: clamp(1rem, 1.3vw, 1.16rem);
	line-height: 1.9;
}

.aisi-taste-hero .aisi-atlas-search {
	max-inline-size: 38rem;
	margin-block-start: 1.75rem;
	border: 1px solid var(--v1-ink);
	background: var(--v1-paper);
}

.aisi-taste-hero .aisi-atlas-search input { color: var(--v1-ink); }
.aisi-taste-hero .aisi-atlas-search button { border-color: var(--v1-ink); background: var(--v1-ink); color: var(--v1-paper); }
.aisi-taste-hero .aisi-atlas-search button:hover { background: var(--v1-accent); }

.aisi-intent-links {
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	max-inline-size: 38rem;
	margin-block-start: 1rem;
	border: 1px solid var(--v1-line);
}

.aisi-intent-links a {
	min-block-size: 5.75rem;
	padding: 0.9rem 1rem;
	border-inline-end: 1px solid var(--v1-line);
	border-block-end: 1px solid var(--v1-line);
	color: var(--v1-ink);
}

.aisi-intent-links a:nth-child(2n) { border-inline-end: 0; }
.aisi-intent-links a:nth-last-child(-n + 2) { border-block-end: 0; }
.aisi-intent-links b { color: var(--v1-accent); }
.aisi-intent-links a:hover { background: var(--v1-ink); color: var(--v1-paper); }

.aisi-taste-hero .aisi-atlas-actions { margin-block-start: 1.25rem; }
.aisi-taste-hero .aisi-atlas-btn { border-color: var(--v1-ink); background: var(--v1-ink); color: var(--v1-paper); }
.aisi-taste-hero .aisi-atlas-btn--ghost { background: transparent; color: var(--v1-ink); }
.aisi-taste-hero .aisi-atlas-btn:hover { border-color: var(--v1-accent); background: var(--v1-accent); color: var(--v1-paper); }

.aisi-taste-hero .aisi-home-hero-visual {
	align-self: stretch;
	min-block-size: 0;
	margin: 0;
	border: 0;
	background: #d8d0c0;
	transform: none;
}

.aisi-taste-hero .aisi-home-hero-visual img {
	block-size: 100%;
	min-block-size: 42rem;
	filter: saturate(0.55) contrast(1.06) sepia(0.08);
}

.aisi-taste-hero .aisi-home-hero-visual figcaption { background: var(--v1-accent); color: var(--v1-paper); }
.aisi-taste-hero .aisi-home-hero-visual figcaption span { border-color: color-mix(in srgb, var(--v1-accent), var(--v1-ink) 25%); }

.aisi-taste-marquee { margin-inline: 0; border-color: var(--v1-ink); background: var(--v1-accent); color: var(--v1-paper); }
.aisi-taste-marquee span::after { color: var(--v1-paper); opacity: 0.6; }

.aisi-atlas-jump-nav {
	top: 4rem;
	margin-inline: 0;
	border: 1px solid var(--v1-line);
	border-block-start: 0;
	background: var(--v1-paper);
}

.aisi-atlas-jump-nav a { min-block-size: 3.25rem; border-color: var(--v1-line); color: var(--v1-muted); }
.aisi-atlas-jump-nav a:hover { background: var(--v1-ink); color: var(--v1-paper); }

/* Editorial section system */
.home .aisi-atlas-section {
	display: grid;
	grid-template-columns: minmax(12rem, 3fr) minmax(0, 9fr);
	gap: 1.5rem clamp(2rem, 6vw, 6rem);
	margin-block-start: clamp(6rem, 10vw, 9rem);
}

.home .aisi-atlas-section > .aisi-atlas-section-head { grid-column: 1; grid-row: 1 / span 2; }
.home .aisi-atlas-section > :not(.aisi-atlas-section-head) { grid-column: 2; }

.aisi-atlas-section-head {
	position: sticky;
	top: 6rem;
	align-self: start;
	padding-block: 1rem;
	border-block-start: 1px solid var(--v1-ink);
}

.aisi-atlas-section-head h2 {
	max-inline-size: 12ch;
	font-size: clamp(2rem, 3.4vw, 3.35rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.035em;
}

.aisi-atlas-section-head p { max-inline-size: 28rem; color: var(--v1-muted); font-size: 0.92rem; line-height: 1.75; }

.aisi-home-map-visual {
	min-block-size: 28rem;
	border: 1px solid var(--v1-ink);
	background: var(--v1-ink);
}

.aisi-home-map-visual > img { block-size: 28rem; min-block-size: 28rem; filter: saturate(0.45) contrast(1.08); }
.aisi-home-map-visual__routes { inline-size: min(42%, 25rem); border: 1px solid var(--v1-ink); background: var(--v1-paper); }

.aisi-atlas-map { grid-template-columns: minmax(0, 1fr); gap: 0; border-block-start: 1px solid var(--v1-ink); background: transparent; }

.aisi-atlas-stage,
.aisi-atlas-stage:nth-child(n) {
	display: grid;
	grid-template-columns: minmax(10rem, 2fr) minmax(0, 5fr);
	grid-column: auto;
	min-block-size: 0;
	padding: 1.5rem 0;
	border: 0;
	border-block-end: 1px solid var(--v1-line);
	background: transparent;
	box-shadow: none !important;
}

.aisi-atlas-stage h3 { margin: 0; font-size: clamp(1.55rem, 2.2vw, 2.2rem); }
.aisi-atlas-stage > header p { margin-block-start: 0.45rem; color: var(--v1-muted); }
.aisi-atlas-stage-index { margin: 0; border-block-start: 0; }
.aisi-atlas-index-row { padding: 0.75rem 0; border-color: var(--v1-line); }
.aisi-atlas-index-row:hover { padding-inline: 0.75rem; background: var(--v1-paper); }
.aisi-atlas-index-count { color: var(--v1-accent); }

.aisi-atlas-map-cta {
	grid-column: auto;
	min-block-size: 12rem;
	margin-block-start: 1.5rem;
	background: var(--v1-accent);
	color: var(--v1-paper);
}
.aisi-atlas-map-cta:hover { background: var(--v1-ink); color: var(--v1-paper); }
.aisi-atlas-map-cta strong { font-size: clamp(1.8rem, 3vw, 2.8rem); }

.aisi-atlas-featured-path { grid-template-columns: minmax(0, 5fr) minmax(18rem, 4fr); border: 1px solid var(--v1-ink); background: var(--v1-paper); }
.aisi-atlas-featured-path__body { padding: clamp(2rem, 5vw, 4rem); }
.aisi-atlas-featured-path__body h3 { font-size: clamp(1.8rem, 3.4vw, 3.2rem); }
.aisi-home-path-visual,
.aisi-home-path-visual > img { min-block-size: 28rem; block-size: 28rem; }

.aisi-atlas-context-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 0; border: 1px solid var(--v1-ink); background: var(--v1-ink); }
.aisi-atlas-context-grid > div { padding: clamp(1.5rem, 4vw, 3rem); background: var(--v1-paper); }

.aisi-atlas-featured-tools {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: 0;
	border-block-start: 1px solid var(--v1-ink);
	background: transparent;
}

.aisi-atlas-featured-tools__cell {
	min-block-size: 9rem;
	border: 0;
	border-inline-end: 1px solid var(--v1-line);
	border-block-end: 1px solid var(--v1-line);
	background: transparent;
}
.aisi-atlas-featured-tools__cell:nth-child(2n) { border-inline-end: 0; }
.aisi-atlas-featured-tools__cell:first-child { grid-column: 1 / -1; min-block-size: 12rem; background: var(--v1-paper); }
.aisi-atlas-featured-tools__cell:first-child strong { font-size: 1.5rem; }
.aisi-atlas-featured-tools__cell:hover { background: var(--v1-ink); color: var(--v1-paper); }

.aisi-atlas-feed { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); border-color: var(--v1-ink); }
.aisi-atlas-feed a { min-block-size: 10rem; border-color: var(--v1-line); background: transparent; }
.aisi-atlas-feed a:nth-child(4n + 1) { background: var(--v1-paper); }
.aisi-atlas-feed a:hover { background: var(--v1-ink); color: var(--v1-paper); }

.aisi-atlas-ar-band { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr); border: 1px solid var(--v1-ink); background: var(--v1-ink); color: var(--v1-paper); }
.aisi-atlas-ar-band__content { padding: clamp(2rem, 5vw, 4rem); }
.aisi-home-arabic-visual img { block-size: 100%; min-block-size: 28rem; filter: saturate(0.45); }

.aisi-atlas-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(18rem, 3fr);
	align-items: end;
	gap: 3rem;
	margin-block-start: clamp(7rem, 12vw, 11rem);
	padding: clamp(2rem, 6vw, 5rem);
	border: 1px solid var(--v1-ink);
	background: var(--v1-accent);
	color: var(--v1-paper);
}
.aisi-atlas-newsletter h2 { max-inline-size: 12ch; font-size: clamp(2.3rem, 4.5vw, 4.25rem); }

/* Archives and lists */
.aisi-atlas-archive-head {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(10rem, 4fr);
	gap: 0.75rem 2rem;
	padding-block: 2rem 1.5rem;
	border-block-start: 1px solid var(--v1-ink);
}
.aisi-atlas-archive-head h1 { font-size: clamp(2.2rem, 4.2vw, 4rem); line-height: 1.05; }
.aisi-atlas-archive-head .aisi-atlas-archive-count { grid-column: 2; grid-row: 1; justify-self: end; color: var(--v1-accent); }
.aisi-atlas-archive-intro,
.aisi-atlas-archive-desc { grid-column: 1; max-inline-size: 50rem; }

.aisi-atlas-filter { border-color: var(--v1-ink); background: var(--v1-paper); }
.aisi-atlas-filter input[type="search"],
.aisi-atlas-filter select { border-radius: 0; border-color: var(--v1-line); background: transparent; }
.aisi-atlas-filter__lead > a { color: var(--v1-accent); }

[data-aisi-results] { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important; gap: 0 !important; border-block-start: 1px solid var(--v1-ink); }

.aisi-atlas-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "head meta" "body body" "actions actions";
	min-block-size: 19rem;
	border: 0;
	border-inline-end: 1px solid var(--v1-line);
	border-block-end: 1px solid var(--v1-line);
	background: transparent;
}
.aisi-atlas-card:nth-child(2n) { border-inline-end: 0; }
.aisi-atlas-card__head { grid-area: head; border: 0; }
.aisi-atlas-card__body { grid-area: body; border: 0; }
.aisi-atlas-card__meta { grid-area: meta; align-content: start; border: 0; }
.aisi-atlas-card__actions { grid-area: actions; border-block-start: 1px solid var(--v1-line); }
.aisi-atlas-card__actions a,
.aisi-atlas-card__actions button { border-color: var(--v1-line); background: transparent; }
.aisi-atlas-card__title { font-size: 1.12rem; }
.aisi-atlas-card__desc { max-inline-size: 54ch; color: var(--v1-muted); line-height: 1.75; }
.aisi-atlas-card__actions a,
.aisi-atlas-card__actions button { min-block-size: 48px; }
.aisi-atlas-card:hover { background: var(--v1-paper); }

/* Single research pages */
.aisi-atlas-single-head {
	padding: 1.5rem 0 2rem;
	border: 0;
	border-block-start: 1px solid var(--v1-ink);
	border-block-end: 1px solid var(--v1-line);
	background: transparent;
}
.aisi-atlas-single-head h1 { max-inline-size: 18ch; font-size: clamp(2.25rem, 4.5vw, 4.2rem); line-height: 1.05; }
.aisi-atlas-single-head__type { color: var(--v1-accent); }
.aisi-atlas-prose { border-color: var(--v1-line); background: transparent; }
.aisi-atlas-prose--info,
.aisi-atlas-prose--decision,
.aisi-atlas-prose--learning,
.aisi-atlas-prose--practice { border: 1px solid var(--v1-line); background: var(--v1-paper); }
.aisi-atlas-facts,
.aisi-atlas-aside-box { border-radius: 0; border-color: var(--v1-line); background: transparent; }
.aisi-next-step { background: var(--v1-ink); color: var(--v1-paper); }
.aisi-next-step > a { background: var(--v1-accent); color: var(--v1-paper); }

.aisi-check-mark {
	display: inline-block;
	inline-size: 0.5rem;
	block-size: 0.5rem;
	margin-block-start: 0.45rem;
	background: var(--v1-accent);
	flex: 0 0 auto;
}

#aisi-quick-actions svg { inline-size: 1.1rem; block-size: 1.1rem; }

#aisi-ast-btn {
	border: 1px solid var(--v1-ink) !important;
	background: var(--v1-accent) !important;
	color: var(--v1-paper) !important;
}
#aisi-ast-btn:hover { background: var(--v1-ink) !important; }
#aisi-ast-btn img.emoji { display: none !important; }
#aisi-ast-btn .aisi-ast-mark { inline-size: 0.55rem; block-size: 0.55rem; background: currentColor; }
#aisi-ast-panel { border-color: var(--v1-ink) !important; background: var(--v1-paper) !important; box-shadow: 6px 6px 0 var(--v1-ink) !important; }
#aisi-ast-panel .aisi-ast-msg.user { border-color: var(--v1-accent) !important; background: var(--v1-accent) !important; }

/* Motion: transform and opacity only. */
@keyframes v1-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

.home .aisi-atlas-section > :not(.aisi-atlas-section-head),
.aisi-atlas-card {
	animation: v1-rise 700ms var(--v1-ease) both;
}
.aisi-atlas-card:nth-child(2) { animation-delay: 80ms; }
.aisi-atlas-card:nth-child(3) { animation-delay: 160ms; }
.aisi-atlas-card:nth-child(4) { animation-delay: 240ms; }

@media (max-width: 900px) {
	.aisi-taste-hero { min-block-size: 0; }
	.aisi-taste-hero .aisi-atlas-hero-grid { grid-template-columns: minmax(0, 1fr); min-block-size: 0; }
	.aisi-taste-hero .aisi-home-hero-visual { grid-row: 1; }
	.aisi-taste-hero .aisi-home-hero-visual img { min-block-size: 22rem; block-size: 22rem; }
	.aisi-taste-hero__copy { grid-row: 2; border-inline-end: 0; border-block-start: 1px solid var(--v1-line); }
	.home .aisi-atlas-section { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.home .aisi-atlas-section > .aisi-atlas-section-head,
	.home .aisi-atlas-section > :not(.aisi-atlas-section-head) { grid-column: 1; grid-row: auto; }
	.aisi-atlas-section-head { position: static; }
	.aisi-atlas-featured-path,
	.aisi-atlas-ar-band { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 639px) {
	body.home #main { padding-inline: 1rem; }
	.aisi-taste-hero__copy { padding: 2rem 1.25rem 2.5rem; }
	.aisi-taste-hero .aisi-atlas-hero-grid h1 { font-size: clamp(2.55rem, 12vw, 3.25rem); }
	.aisi-taste-hero__lede { font-size: 0.98rem; }
	.aisi-intent-links { grid-template-columns: minmax(0, 1fr); }
	.aisi-intent-links a { min-block-size: 4.5rem; border-inline-end: 0; border-block-end: 1px solid var(--v1-line) !important; }
	.aisi-intent-links a:last-child { border-block-end: 0 !important; }
	.aisi-atlas-jump-nav { grid-template-columns: repeat(6, minmax(8rem, 1fr)); }
	.aisi-atlas-stage,
	.aisi-atlas-stage:nth-child(n) { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.aisi-home-map-visual,
	.aisi-home-map-visual > img { min-block-size: 19rem; block-size: 19rem; }
	.aisi-home-map-visual__routes { inline-size: calc(100% - 2rem); }
	.aisi-atlas-context-grid,
	.aisi-atlas-featured-tools,
	.aisi-atlas-feed,
	.aisi-atlas-newsletter { grid-template-columns: minmax(0, 1fr); }
	.aisi-atlas-featured-tools__cell:first-child { grid-column: auto; }
	.aisi-atlas-featured-tools__cell { border-inline-end: 0; }
	.aisi-atlas-archive-head { grid-template-columns: minmax(0, 1fr); }
	.aisi-atlas-archive-head .aisi-atlas-archive-count,
	.aisi-atlas-archive-intro,
	.aisi-atlas-archive-desc { grid-column: 1; grid-row: auto; justify-self: start; }
	[data-aisi-results] { grid-template-columns: minmax(0, 1fr) !important; }
	.aisi-atlas-card { border-inline-end: 0; }
	.aisi-atlas-newsletter { gap: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; }
}
