218 lines
6.7 KiB
CSS
218 lines
6.7 KiB
CSS
/**
|
|
* 09-landing.css
|
|
* Landing-page specific layout and component styles.
|
|
* Loads after 08-layout so hero overrides correctly take precedence.
|
|
* Part of: Agentic Semantic Web
|
|
*/
|
|
|
|
/* ── Landing page container ───────────────────────────────────────────── */
|
|
|
|
[data-landing] {
|
|
max-width: var(--width-xl);
|
|
margin-inline: auto;
|
|
padding-inline: var(--container-padding);
|
|
}
|
|
|
|
[data-landing] > h2 {
|
|
text-align: center;
|
|
margin-top: var(--space-8);
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
[data-landing] > p {
|
|
text-align: center;
|
|
color: var(--text-2);
|
|
max-width: 50ch;
|
|
margin-inline: auto;
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
/* ── [data-section] — horizontal-rule sections ──────────────────────────
|
|
Usage: <section data-section> or <section data-section="demo">
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
[data-section] {
|
|
padding-block: var(--space-8);
|
|
border-bottom: var(--border-width) solid var(--border-subtle);
|
|
}
|
|
|
|
/* ── [data-section-header] — centered section heading ───────────────────
|
|
Usage: <header data-section-header> inside [data-section]
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
[data-section-header] {
|
|
text-align: center;
|
|
margin-bottom: var(--space-6);
|
|
}
|
|
|
|
[data-section-header] h2 {
|
|
margin-bottom: var(--space-3);
|
|
}
|
|
|
|
[data-section-header] > p {
|
|
color: var(--text-2);
|
|
max-width: 50ch;
|
|
margin-inline: auto;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/* ── Hero ─────────────────────────────────────────────────────────────── */
|
|
|
|
[data-hero] {
|
|
text-align: center;
|
|
padding: clamp(3.5rem, 10vw, 7rem) var(--space-5) clamp(3rem, 8vw, 5.5rem);
|
|
border-bottom: var(--border-width) solid var(--border-subtle);
|
|
}
|
|
|
|
[data-hero] h1 {
|
|
font-size: clamp(2.6rem, 6vw, 4.5rem);
|
|
font-weight: var(--weight-light);
|
|
letter-spacing: -0.025em;
|
|
line-height: 1.05;
|
|
margin-bottom: var(--space-4);
|
|
}
|
|
|
|
[data-hero] > p {
|
|
font-size: clamp(1rem, 2.5vw, 1.2rem);
|
|
color: var(--text-2);
|
|
max-width: 46ch;
|
|
margin-inline: auto;
|
|
line-height: var(--leading-tight);
|
|
}
|
|
|
|
[data-hero] > nav {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
margin-top: var(--space-5);
|
|
}
|
|
|
|
[data-hero] > nav a {
|
|
display: inline-block;
|
|
padding: var(--space-2) var(--space-5);
|
|
border-radius: var(--radius-md);
|
|
font-size: var(--text-sm);
|
|
font-weight: var(--weight-medium);
|
|
text-decoration: none;
|
|
border: var(--border-width) solid var(--border);
|
|
background: var(--surface-1);
|
|
color: var(--text-2);
|
|
transition: background-color var(--ease-3), color var(--ease-3), border-color var(--ease-3);
|
|
}
|
|
|
|
[data-hero] > nav a:first-child {
|
|
background: var(--accent);
|
|
color: var(--on-accent);
|
|
border-color: transparent;
|
|
}
|
|
|
|
[data-hero] > nav a:hover {
|
|
background: var(--surface-2);
|
|
color: var(--text);
|
|
}
|
|
|
|
[data-hero] > nav a:first-child:hover {
|
|
background: var(--accent-hover);
|
|
color: var(--on-accent);
|
|
}
|
|
|
|
/* ── figure[data-pane] — side-by-side demo panes ────────────────────────
|
|
Usage:
|
|
<figure data-pane="code">
|
|
<figcaption>HTML</figcaption>
|
|
<pre><code>…</code></pre>
|
|
</figure>
|
|
<figure data-pane="result">
|
|
<figcaption>Result</figcaption>
|
|
<div data-pane-body>…</div>
|
|
</figure>
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
figure[data-pane] {
|
|
background: var(--surface-1);
|
|
border: var(--border-width) solid var(--border);
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin: 0;
|
|
}
|
|
|
|
figure[data-pane] > figcaption {
|
|
background: var(--surface-2);
|
|
border-bottom: var(--border-width) solid var(--border);
|
|
padding: var(--space-2) var(--space-4);
|
|
font-family: var(--font-mono);
|
|
font-size: var(--text-xs);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.1em;
|
|
color: var(--text-3);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
figure[data-pane="code"] > pre {
|
|
margin: 0;
|
|
padding: var(--space-4) var(--space-5);
|
|
background: transparent;
|
|
border: none;
|
|
font-size: 0.775rem;
|
|
line-height: 1.75;
|
|
flex: 1;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
figure[data-pane="result"] > [data-pane-body] {
|
|
padding: var(--space-5);
|
|
flex: 1;
|
|
}
|
|
|
|
figure[data-pane="result"] > [data-pane-body] article {
|
|
margin: 0;
|
|
}
|
|
|
|
/* ── article[data-pillar] — three-pillar feature cards ──────────────────
|
|
ASW already styles article as a card; data-pillar tunes internals.
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
article[data-pillar] {
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
article[data-pillar] h3 {
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
article[data-pillar] > p {
|
|
color: var(--text-2);
|
|
font-size: var(--text-sm);
|
|
margin: 0;
|
|
}
|
|
|
|
/* ── [data-preview] — inert mini page preview ───────────────────────────
|
|
Sits inside article[data-card="page-type"]. pointer-events: none keeps
|
|
it visually alive but non-interactive.
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
[data-preview] {
|
|
margin-top: var(--space-4);
|
|
padding: var(--space-4);
|
|
background: var(--surface);
|
|
border: var(--border-width) solid var(--border-subtle);
|
|
border-radius: var(--radius-sm);
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* ── [data-agent-native] — agent vocabulary section ─────────────────────
|
|
─────────────────────────────────────────────────────────────────────── */
|
|
|
|
[data-agent-native] h4 {
|
|
margin-top: 0;
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
[data-agent-native] pre {
|
|
font-size: var(--text-xs);
|
|
margin-top: var(--space-3);
|
|
}
|