@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#111113; --muted:#69696f; --paper:#f7f7f4; --line:#dcdcd7; --red:#e4003b; --violet:#d9d2ff; --blue:#b9e9ef; --lime:#d9ef94; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Manrope', ui-sans-serif, system-ui, sans-serif; }
a { color:inherit; }
.announcement { background:var(--red); color:#fff; min-height:31px; display:flex; align-items:center; justify-content:center; padding:7px 20px; font:500 10px/1.25 'DM Mono', monospace; letter-spacing:.02em; }
.announcement span::before { content:'✦'; margin-right:9px; }
.site-header { display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:0 auto; padding:26px 32px 20px; }
.brand { display:flex; align-items:center; gap:18px; text-decoration:none; }
.brand-logo { display:block; width:100px; height:54px; }
.brand-logo img { display:block; width:100%; height:100%; }
.brand-label { color:var(--muted); font:500 10px/1 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.nav { display:flex; align-items:center; gap:24px; font:500 11px/1 'DM Mono', monospace; }
.nav a { text-decoration:none; }
.nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.button { display:inline-flex; align-items:center; gap:10px; border:1px solid var(--ink); border-radius:999px; padding:11px 16px; font:600 11px/1 'DM Mono', monospace; text-decoration:none; background:transparent; transition:transform .2s ease, background .2s ease, color .2s ease; }
.button::after { content:'↗'; font-size:14px; line-height:0; }
.button:hover { transform:translateY(-2px); background:var(--ink); color:#fff; }
.button.primary { border-color:var(--red); background:var(--red); color:#fff; }
.button.primary:hover { background:var(--ink); border-color:var(--ink); }
.menu-button { display:none; background:none; border:0; font:500 11px 'DM Mono', monospace; }
.hero { max-width:1240px; margin:0 auto; padding:70px 32px 116px; display:grid; grid-template-columns:1.03fr .97fr; gap:64px; align-items:end; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--muted); font:500 11px 'DM Mono', monospace; letter-spacing:.06em; text-transform:uppercase; }
.eyebrow::before { content:''; width:32px; height:1px; background:var(--red); }
h1,h2,h3,p { margin:0; }
h1 { max-width:660px; margin-top:23px; font-size:clamp(48px,7vw,94px); line-height:.98; letter-spacing:-.085em; font-weight:500; }
.hero h1 { line-height:1.02; letter-spacing:-.065em; }
.hero-copy { max-width:480px; padding-bottom:7px; }
.hero-copy p { color:var(--muted); font-size:16px; line-height:1.65; max-width:380px; }
.hero-copy .button { margin-top:30px; }
.hero-art { position:relative; min-height:340px; border-radius:18px; overflow:hidden; color:#fff; background:linear-gradient(125deg,#050508 8%,#28000b 40%,#e4003b 75%,#16030a 100%); }
.hero-art::before,.hero-art::after { content:''; position:absolute; border-radius:50%; }
.hero-art::before { width:540px; height:540px; top:-125px; right:-125px; background:repeating-radial-gradient(circle,transparent 0 14px,rgba(255,255,255,.17) 15px,transparent 17px 25px); }
.hero-art::after { width:2px; height:145%; left:47%; bottom:-24%; border-radius:0; background:rgba(255,255,255,.72); box-shadow:-34px 0 0 rgba(255,255,255,.18),34px 0 0 rgba(255,255,255,.28); transform:rotate(51deg); }
.hero-art-inner { position:absolute; inset:38px; border:1px solid rgba(255,255,255,.42); border-radius:50%; display:flex; align-items:center; justify-content:center; transform:rotate(-22deg); }
.hero-art-inner span { width:64%; aspect-ratio:1; border:1px solid rgba(255,255,255,.54); border-radius:50%; display:block; }
.hero-art-label { position:absolute; z-index:1; left:24px; bottom:21px; font:500 10px 'DM Mono', monospace; text-transform:uppercase; letter-spacing:.04em; }
.ticker { background:var(--ink); color:#fff; display:flex; gap:28px; justify-content:space-around; padding:22px 32px; font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.ticker span { display:flex; gap:12px; align-items:center; }
.ticker strong { color:var(--red); font-size:20px; letter-spacing:-.06em; }
.ticker strong.ticker-updated { color:#fff; font-size:10px; letter-spacing:.05em; }
.agentic-welcome { max-width:1240px; margin:0 auto; padding:108px 32px 18px; }
.agentic-welcome-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; }
.agentic-welcome-heading h2 { max-width:760px; margin-top:20px; }
.agentic-welcome-heading > p { max-width:360px; color:var(--muted); font-size:15px; line-height:1.65; }
.agentic-frames { margin-top:58px; border-bottom:1px solid var(--line); }
.agentic-frame { display:grid; grid-template-columns:64px 150px 1fr; gap:28px; align-items:start; padding:26px 0; border-top:1px solid var(--line); }
.agentic-frame-index { color:var(--red); font:500 11px 'DM Mono',monospace; }
.agentic-frame h3 { font-size:24px; line-height:1; letter-spacing:-.05em; }
.agentic-frame p { max-width:720px; color:var(--muted); font-size:15px; line-height:1.65; }
.agentic-seller-prompt { display:grid; grid-template-columns:214px 1fr; gap:28px; margin:34px 0 0 92px; padding:24px 0; border-top:4px solid var(--red); }
.agentic-seller-prompt span { color:var(--red); font:500 10px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.agentic-seller-prompt p { max-width:720px; font-size:22px; line-height:1.35; letter-spacing:-.025em; }
.sapient-case { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:74px; margin-top:96px; padding:58px; overflow:hidden; border-radius:18px; background:var(--ink); color:#fff; }
.sapient-case::before { content:''; position:absolute; inset:0 0 auto; height:7px; background:var(--red); }
.sapient-case .eyebrow { color:#a9a9ae; }
.sapient-case-copy h2 { margin-top:22px; font-size:clamp(36px,4.5vw,58px); }
.sapient-case-copy > p { max-width:480px; margin-top:28px; color:#bdbdc2; font-size:15px; line-height:1.7; }
.sapient-case-copy .button { margin-top:34px; }
.sapient-reasons { border-bottom:1px solid #3b3b3f; }
.sapient-reasons article { display:grid; grid-template-columns:34px 1fr; gap:18px; padding:21px 0; border-top:1px solid #3b3b3f; }
.sapient-reasons article > span { color:var(--red); font:500 10px 'DM Mono',monospace; }
.sapient-reasons h3 { font-size:18px; line-height:1.2; letter-spacing:-.035em; }
.sapient-reasons p { margin-top:9px; color:#aaaab0; font-size:12.5px; line-height:1.58; }
.library-disclosure { border-top:1px solid var(--line); border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.library-summary { max-width:1240px; margin:0 auto; padding:48px 32px; display:flex; align-items:end; justify-content:space-between; gap:30px; cursor:pointer; list-style:none; }
.library-summary::-webkit-details-marker { display:none; }
.library-summary:focus-visible { outline:2px solid var(--red); outline-offset:-5px; }
.library-summary-copy { display:block; max-width:720px; }
.library-summary-title { display:block; margin-top:12px; font-size:clamp(36px,5vw,62px); line-height:1; letter-spacing:-.075em; font-weight:500; }
.library-summary-description { display:block; max-width:560px; margin-top:18px; color:var(--muted); font-size:14px; line-height:1.55; }
.library-summary-action { display:inline-flex; align-items:center; gap:14px; flex:0 0 auto; color:var(--ink); font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.04em; }
.library-summary-action::before { content:''; display:block; width:34px; height:1px; background:var(--red); }
.library-summary-close { display:none; }
.library-disclosure[open] .library-summary-open { display:none; }
.library-disclosure[open] .library-summary-close { display:inline; }
.library-summary-chevron { color:var(--red); font-size:22px; line-height:1; transition:transform .2s ease; }
.library-disclosure[open] .library-summary-chevron { transform:rotate(90deg); }
.directory { max-width:1240px; margin:0 auto; padding:10px 32px 125px; }
.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:42px; }
h2 { font-size:clamp(36px,5vw,62px); line-height:1; letter-spacing:-.075em; font-weight:500; }
.section-heading p { max-width:330px; color:var(--muted); font-size:14px; line-height:1.55; }
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:17px 0; margin-bottom:24px; }
.filter-groups { display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px; }
.filter-label { color:var(--muted); font:500 9px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.filter-reset,.filter-select summary { border:1px solid var(--line); color:var(--muted); background:var(--paper); border-radius:999px; padding:9px 12px; cursor:pointer; font:500 10px 'DM Mono',monospace; }
.filter-reset:hover,.filter-reset.active,.filter-select summary:hover,.filter-select[data-active] summary { border-color:var(--ink); color:var(--ink); }
.filter-reset { appearance:none; }
.filter-select { position:relative; }
.filter-select summary { display:flex; align-items:center; gap:9px; list-style:none; white-space:nowrap; }
.filter-select summary::-webkit-details-marker { display:none; }
.filter-summary { color:var(--ink); }
.filter-chevron { color:var(--red); font-size:14px; line-height:0; transform:translateY(-1px); }
.filter-select[open] .filter-chevron { transform:rotate(180deg) translateY(1px); }
.filter-menu { position:absolute; z-index:5; top:calc(100% + 8px); left:0; min-width:190px; padding:8px; border:1px solid var(--ink); border-radius:12px; background:var(--paper); box-shadow:0 15px 30px rgba(17,17,19,.12); }
.filter-option { display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:7px; color:var(--muted); cursor:pointer; font:500 10px 'DM Mono',monospace; }
.filter-option:hover,.filter-option.active { background:var(--ink); color:#fff; }
.filter-option input { accent-color:var(--red); margin:0; }
.filter-hint { flex-basis:100%; margin:0; color:var(--muted); font:500 9px/1.4 'DM Mono',monospace; }
.toolbar-tools { display:flex; align-items:center; gap:18px; }
.sort-control { display:flex; align-items:center; gap:8px; }
.sort-control select { border:0; border-bottom:1px solid var(--ink); border-radius:0; padding:8px 18px 8px 0; background:transparent; color:var(--ink); font:500 10px 'DM Mono',monospace; }
.sort-control select:focus-visible { outline:1px solid var(--ink); outline-offset:3px; }
.search-control { display:block; }
.search { width:200px; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:8px 0; color:var(--ink); outline:0; font:500 11px 'DM Mono',monospace; }
.search::placeholder { color:var(--muted); }
.results { color:var(--muted); font:500 10px 'DM Mono',monospace; white-space:nowrap; margin-right:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tile { min-height:340px; padding:24px; border-radius:16px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; color:inherit; text-decoration:none; transition:transform .24s ease, box-shadow .24s ease; }
.tile:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(17,17,19,.12); }
.tile::after { content:''; position:absolute; width:210px; height:210px; border-radius:50%; border:1px solid currentColor; opacity:.22; right:-64px; top:78px; }
.tile.red { background:var(--red); color:#fff; }
.tile.violet { background:var(--violet); }
.tile.blue { background:var(--blue); }
.tile.lime { background:var(--lime); }
.tile[hidden] { display:none; }
.tile-top { display:flex; justify-content:space-between; align-items:start; gap:15px; position:relative; z-index:1; }
.tile-index { font:500 10px 'DM Mono',monospace; opacity:.72; }
.tile-added { display:block; margin-top:12px; font:500 9px/1.2 'DM Mono',monospace; opacity:.72; text-transform:uppercase; }
.tile-badges { display:flex; align-items:start; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.tile-category { font:500 10px 'DM Mono',monospace; border:1px solid currentColor; border-radius:999px; padding:7px 9px; text-transform:uppercase; }
.tile-bucket { font:500 10px 'DM Mono',monospace; background:rgba(255,255,255,.24); color:inherit; border-radius:999px; padding:7px 9px; text-transform:uppercase; opacity:.9; }
.tile-body { position:relative; z-index:1; }
.tile h3 { max-width:250px; font-size:clamp(24px,2.4vw,34px); line-height:1.02; letter-spacing:-.07em; font-weight:600; }
.tile p { max-width:285px; margin-top:15px; font-size:13px; line-height:1.55; opacity:.76; }
.tile-link { display:inline-flex; align-items:center; gap:8px; margin-top:24px; font:500 10px 'DM Mono',monospace; text-decoration:none; }
.tile-link::after { content:'→'; font-size:17px; line-height:0; transition:transform .2s ease; }
.tile-link:hover::after { transform:translateX(4px); }
.empty { display:none; padding:45px 0; color:var(--muted); font:500 12px 'DM Mono',monospace; }
.chat-placeholder { margin-top:48px; padding:25px; border-radius:16px; background:var(--ink); color:#fff; display:grid; grid-template-columns:.9fr 1.1fr; gap:35px; align-items:end; }
.chat-kicker { color:var(--red); font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.chat-placeholder h3 { max-width:350px; margin-top:15px; font-size:clamp(26px,3vw,42px); line-height:1; letter-spacing:-.07em; font-weight:500; }
.chat-placeholder p { max-width:370px; margin-top:15px; color:#bdbdc2; font-size:13px; line-height:1.55; }
.chat-label { display:block; margin-bottom:9px; color:#bdbdc2; font:500 10px 'DM Mono',monospace; text-transform:uppercase; }
.chat-field { display:flex; gap:8px; }
.chat-field input { min-width:0; flex:1; border:1px solid #55555a; border-radius:999px; padding:14px 16px; background:#252527; color:#fff; font:500 11px 'DM Mono',monospace; }
.chat-field input::placeholder { color:#8d8d93; }
.chat-field input:disabled { cursor:not-allowed; opacity:1; }
.chat-field button { border:1px solid #55555a; border-radius:999px; padding:0 17px; background:#38383b; color:#8d8d93; font:500 11px 'DM Mono',monospace; cursor:not-allowed; }
.chat-note { margin-top:11px; color:#8d8d93; font:500 10px 'DM Mono',monospace; }
.manifest { background:var(--violet); padding:84px 32px; }
.manifest-inner { max-width:1176px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.manifest h2 { max-width:470px; }
.manifest-copy { padding-top:8px; }
.manifest-copy p { max-width:440px; font-size:16px; line-height:1.65; }
.code-note { margin-top:30px; padding:18px; border:1px solid rgba(17,17,19,.28); border-radius:12px; background:rgba(255,255,255,.26); font:500 11px/1.7 'DM Mono',monospace; }
.code-note span { color:var(--red); }
.site-footer { background:var(--ink); color:#fff; padding:68px 32px 28px; }
.footer-top { max-width:1176px; margin:0 auto 70px; display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:30px; }
.footer-brand { font-size:26px; line-height:.82; font-weight:800; letter-spacing:-.08em; }
.footer-brand i { display:block; color:var(--red); font-style:normal; }
.footer-kicker { color:#aaa; margin-top:22px; max-width:170px; font-size:12px; line-height:1.55; }
.footer-col { display:flex; flex-direction:column; gap:12px; }
.footer-col small { color:var(--red); font:500 10px 'DM Mono',monospace; text-transform:uppercase; }
.footer-col a { color:#ddd; text-decoration:none; font:500 11px 'DM Mono',monospace; }
.footer-col a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { max-width:1176px; margin:0 auto; padding-top:22px; border-top:1px solid #39393c; color:#888; display:flex; justify-content:space-between; gap:20px; font:500 10px 'DM Mono',monospace; }
@media (max-width: 820px) { .site-header { padding:22px 20px 16px; } .brand-label { display:none; } .nav { display:none; } .menu-button { display:block; } .site-header.menu-open { position:relative; } .site-header.menu-open .nav { display:flex; position:absolute; top:68px; right:20px; z-index:2; flex-direction:column; align-items:flex-end; gap:16px; padding:17px 18px; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 15px 30px rgba(17,17,19,.12); } .hero { padding:52px 20px 72px; display:block; } .hero h1 { line-height:1.04; } .hero-copy p { margin-top:32px; } .hero-art { min-height:290px; margin-top:52px; } .ticker { padding:17px 20px; gap:14px; justify-content:space-between; } .ticker span:nth-child(3) { display:none; } .agentic-welcome { padding:72px 20px 10px; } .agentic-welcome-heading { display:block; } .agentic-welcome-heading > p { margin-top:22px; } .agentic-frames { margin-top:38px; } .agentic-frame { grid-template-columns:42px 1fr; gap:14px; } .agentic-frame p { grid-column:2; } .agentic-seller-prompt { display:block; margin:28px 0 0; } .agentic-seller-prompt p { margin-top:13px; font-size:19px; } .sapient-case { display:block; margin-top:66px; padding:42px 24px; border-radius:14px; } .sapient-reasons { margin-top:45px; } .library-summary { display:block; padding:40px 20px; } .library-summary-description { margin-top:16px; } .library-summary-action { margin-top:26px; } .directory { padding:8px 20px 84px; } .section-heading { display:block; } .section-heading p { margin-top:20px; } .toolbar { display:block; } .filter-groups { display:flex; align-items:stretch; gap:10px; } .filter-select { flex:1 1 46%; } .filter-select summary { justify-content:space-between; } .filter-menu { position:relative; top:0; margin-top:8px; box-shadow:none; } .filter-reset { align-self:flex-start; } .filter-hint { flex-basis:100%; } .toolbar-tools { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:16px; } .sort-control { justify-content:space-between; } .sort-control select { flex:1; min-width:0; } .search-control { grid-column:1/-1; } .search { width:100%; margin-top:0; } .tile-grid { grid-template-columns:1fr; } .tile { min-height:300px; } .chat-placeholder { display:block; } .chat-form { margin-top:25px; } .manifest { padding:65px 20px; } .manifest-inner { display:block; } .manifest-copy { margin-top:30px; } .footer-top { grid-template-columns:1fr 1fr; margin-bottom:54px; } .footer-brand { grid-column:1/-1; } .footer-bottom { display:block; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
.entry-back { display:none; color:var(--muted); text-decoration:none; font:500 10px 'DM Mono',monospace; }
.entry-hero { max-width:1176px; margin:30px auto 0; padding:28px 32px 70px; border-radius:18px; overflow:hidden; }
.entry-hero.red { background:var(--red); color:#fff; }
.entry-hero.violet { background:var(--violet); }
.entry-hero.blue { background:var(--blue); }
.entry-hero.lime { background:var(--lime); }
.entry-hero-top { display:flex; justify-content:space-between; gap:20px; font:500 10px 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; opacity:.72; }
.entry-hero-copy { max-width:820px; margin-top:92px; }
.entry-hero-copy .eyebrow { color:inherit; opacity:.72; }
.entry-hero-copy .eyebrow::before { background:currentColor; }
.entry-hero h1 { max-width:900px; margin-top:22px; font-size:clamp(50px,8vw,112px); }
.entry-hero-copy > p { max-width:650px; margin-top:28px; font-size:17px; line-height:1.6; opacity:.8; }
.entry-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; font:500 9px 'DM Mono',monospace; text-transform:uppercase; }
.entry-meta span { border:1px solid currentColor; border-radius:999px; padding:8px 10px; opacity:.72; }
.entry-layout { max-width:1176px; margin:0 auto; padding:85px 32px 125px; display:grid; grid-template-columns:260px 1fr; gap:90px; }
.entry-aside { align-self:start; position:sticky; top:25px; }
.entry-aside .button { width:100%; justify-content:space-between; }
.entry-aside-group { margin-top:42px; }
.entry-aside-group small { display:block; color:var(--red); font:500 10px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.contents-disclosure > summary { color:var(--red); cursor:pointer; font:500 10px 'DM Mono',monospace; letter-spacing:.05em; list-style:none; text-transform:uppercase; }
.contents-disclosure > summary::-webkit-details-marker { display:none; }
.contents-disclosure > summary::after { content:"+"; float:right; font-size:14px; line-height:10px; }
.contents-disclosure[open] > summary::after { content:"−"; }
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:5; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid rgba(17,17,19,.45); border-radius:50%; background:rgba(247,247,244,.68); color:var(--ink); text-decoration:none; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .2s ease, visibility .2s ease, transform .2s ease, background .2s ease; box-shadow:0 8px 20px rgba(17,17,19,.1); backdrop-filter:blur(8px); }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.back-to-top span { font:500 24px/1 'Manrope',sans-serif; }
.back-to-top:hover { background:var(--ink); color:var(--paper); }
.entry-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.entry-tags span { border:1px solid var(--line); border-radius:999px; padding:7px 9px; color:var(--muted); font:500 10px 'DM Mono',monospace; }
.entry-section { padding-top:12px; }
.entry-section + .entry-section { margin-top:88px; }
.entry-section + .signal-section, .signal-section + .entry-section { margin-top:88px; }
.entry-section h2 { max-width:640px; margin-top:18px; font-size:clamp(34px,5vw,62px); }
.entry-list { display:grid; gap:17px; max-width:700px; margin:30px 0 0; padding:0; list-style:none; counter-reset:entry-list; }
.entry-list li { display:grid; grid-template-columns:32px 1fr; gap:16px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:15px; line-height:1.65; counter-increment:entry-list; }
.entry-list li::before { content:counter(entry-list, decimal-leading-zero); color:var(--red); font:500 10px 'DM Mono',monospace; }
.entry-narrative { max-width:700px; margin-top:30px; color:var(--muted); font-size:18px; line-height:1.75; }
.asset-list { max-width:700px; margin-top:28px; border-top:1px solid var(--line); }
.asset-link { display:flex; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; font:500 12px 'DM Mono',monospace; }
.asset-link b { color:var(--red); font-size:17px; font-weight:500; }
.asset-link:hover span { text-decoration:underline; text-underline-offset:4px; }
.example-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.example-list article { min-height:190px; padding:19px; border:1px solid var(--line); border-radius:12px; }
.example-list h3 { font-size:18px; line-height:1.1; letter-spacing:-.04em; font-weight:600; }
.example-list p { margin-top:18px; color:var(--muted); font-size:12px; line-height:1.6; }
.contact-list { max-width:700px; margin-top:30px; border-top:1px solid var(--line); }
.contact-list article { padding:20px 0; border-bottom:1px solid var(--line); }
.contact-name { display:inline-block; color:var(--ink); font-size:20px; font-weight:700; letter-spacing:-.04em; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:5px; }
.contact-list article > p { max-width:600px; margin-top:10px; color:var(--muted); font-size:13px; line-height:1.55; }
.contact-list-empty { padding:20px 0; color:var(--muted); font-size:13px; line-height:1.55; }
.contact-related { display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; margin-top:17px; color:var(--muted); font:500 9px/1.4 'DM Mono',monospace; }
.contact-related a { color:var(--ink); text-decoration:none; }
.contact-related a:hover { text-decoration:underline; text-underline-offset:3px; }
.contact-aside-copy { margin-top:14px; color:var(--muted); font-size:12px; line-height:1.55; }
/* ported diagrams */
.diagram-figure { margin:30px 0 0; }
.diagram-figure figcaption { margin-top:12px; color:var(--muted); font-size:12.5px; line-height:1.55; }
.diagram { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; display:grid; gap:10px; }
.diagram-band { padding:14px 16px; border:1px dashed var(--line); border-radius:10px; }
.diagram-band.is-trust { border-color:var(--red); border-style:solid; }
.diagram-band.is-red { border-color:var(--red); text-align:center; }
.diagram-band.is-red .diagram-band-title { justify-content:center; color:var(--red); }
.diagram-band-title { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; font-size:14px; font-weight:600; letter-spacing:-.01em; }
.diagram-band-title i { color:var(--muted); font-style:italic; font-weight:400; font-size:12px; }
.diagram-meta { margin-top:7px; color:var(--muted); font-size:11.5px; line-height:1.5; }
.diagram-chips { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.diagram-chips span { padding:5px 9px; border:1px solid var(--line); border-radius:999px; font:500 10px 'DM Mono',monospace; letter-spacing:.03em; }
.diagram-cards { margin-top:10px; display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:8px; }
.diagram-band > .diagram-cards:first-child, .diagram > .diagram-cards { margin-top:0; }
.diagram-card { padding:11px 13px; border:1px solid var(--line); border-left:3px solid var(--ink); border-radius:8px; }
.diagram-card b { display:block; font-size:13px; font-weight:600; letter-spacing:-.01em; }
.diagram-card i { display:block; margin-top:3px; color:var(--muted); font-size:11px; font-style:italic; }
.diagram-card span { display:block; margin-top:5px; color:var(--muted); font-size:11.5px; line-height:1.5; }
.diagram-flow { grid-auto-flow:column; grid-auto-columns:1fr auto 1fr; align-items:center; gap:14px; }
.diagram-col { border:1px dashed var(--line); border-radius:10px; padding:14px; }
.diagram-col-label { font-size:14px; font-weight:600; letter-spacing:-.01em; margin-bottom:10px; }
.diagram-col-body { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; align-items:start; }
.diagram-stack { display:grid; gap:10px; align-content:start; }
.diagram-stack.is-chained .diagram-node + .diagram-node { position:relative; margin-top:14px; }
.diagram-stack.is-chained .diagram-node + .diagram-node::before { content:'↓'; position:absolute; top:-15px; left:50%; transform:translateX(-50%); color:var(--red); font-size:12px; line-height:1; }
.diagram-node { padding:10px 12px; border:1px solid var(--line); border-left:3px solid var(--ink); border-radius:8px; }
.diagram-node.is-accent { border-left-color:var(--red); }
.diagram-node b { display:block; font-size:13px; font-weight:600; letter-spacing:-.01em; }
.diagram-node span { display:block; margin-top:4px; color:var(--muted); font-size:11.5px; font-style:italic; line-height:1.45; }
.diagram-arrow { color:var(--red); font-size:16px; text-align:center; }
@media (max-width: 820px) {
  .diagram { padding:14px; }
  .diagram-flow { grid-auto-flow:row; grid-auto-columns:auto; }
  .diagram-arrow { transform:rotate(90deg); }
}
/* signal sections */
.entry-lead-figure { margin:0 0 62px; }
.entry-lead-figure img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:14px; background:#fff; }
.entry-lead-figure figcaption { margin-top:12px; max-width:640px; color:var(--muted); font-size:13px; line-height:1.55; }
.signal-short { max-width:640px; margin-top:18px; font-size:15px; line-height:1.55; opacity:.85; }
.signal-short b { font-weight:600; }
.signal-section { max-width:760px; }
.signal-section + .signal-section { margin-top:70px; }
.signal-section > h2 { max-width:640px; margin-top:14px; font-size:clamp(26px,3vw,38px); line-height:1.04; letter-spacing:-.06em; font-weight:600; }
.signal-takeaway { max-width:700px; margin-top:20px; font-size:18px; line-height:1.5; letter-spacing:-.01em; }
.signal-body { max-width:700px; margin-top:16px; color:var(--muted); font-size:14.5px; line-height:1.65; }
.signal-figures { margin-top:30px; display:grid; gap:20px; }
.signal-figure { margin:0; }
.signal-figure img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }
.signal-mermaid { margin:0; overflow:auto; border:1px solid var(--line); border-radius:12px; padding:20px; background:#fff; color:var(--ink); font:12px/1.5 'DM Mono', monospace; white-space:pre; }
.signal-figure figcaption { margin-top:10px; color:var(--muted); font-size:12.5px; line-height:1.5; }
.signal-section .example-list { margin-top:28px; }
.signal-steps { margin:28px 0 0; padding:0; list-style:none; display:grid; gap:2px; }
.signal-steps li { display:grid; grid-template-columns:minmax(170px,30%) 1fr; gap:24px; padding:16px 0; border-top:1px solid var(--line); }
.signal-steps li:last-child { border-bottom:1px solid var(--line); }
.signal-steps b { font-size:13.5px; font-weight:600; line-height:1.45; letter-spacing:-.01em; color:var(--ink); }
.signal-steps span { color:var(--muted); font-size:14px; line-height:1.6; }
.signal-prompt { margin-top:28px; padding:20px 22px; border-left:2px solid var(--red); background:rgba(17,17,19,.03); border-radius:0 10px 10px 0; }
.signal-prompt small { display:block; color:var(--red); font:500 10px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.signal-prompt p { max-width:600px; margin-top:10px; font-size:15px; line-height:1.55; }
.signal-note { max-width:700px; margin-top:22px; padding:14px 16px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:13px; line-height:1.6; }
.signal-contents { margin:12px 0 0; padding:0; list-style:none; display:grid; gap:7px; }
.signal-contents a { color:var(--muted); font:500 10px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; }
.signal-contents a:hover { color:var(--ink); }
@media (max-width: 820px) {
  .signal-section + .signal-section { margin-top:52px; }
  .entry-lead-figure { margin-bottom:46px; }
  .entry-section + .signal-section, .signal-section + .entry-section { margin-top:65px; }
  .signal-steps li { grid-template-columns:1fr; gap:7px; }
  .signal-takeaway { font-size:16px; }
}
/* themes */
.themes { max-width:1240px; margin:0 auto; padding:95px 32px 0; }
.theme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.theme-card { min-height:250px; padding:24px; border-radius:16px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; color:inherit; text-decoration:none; transition:transform .24s ease, box-shadow .24s ease; }
.theme-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(17,17,19,.12); }
.theme-card::after { content:''; position:absolute; width:210px; height:210px; border-radius:50%; border:1px solid currentColor; opacity:.22; right:-64px; top:52px; }
.theme-card.red { background:var(--red); color:#fff; }
.theme-card.violet { background:var(--violet); }
.theme-card.blue { background:var(--blue); }
.theme-card.lime { background:var(--lime); }
.theme-card-top { display:flex; justify-content:space-between; align-items:start; gap:15px; position:relative; z-index:1; font:500 10px 'DM Mono',monospace; text-transform:uppercase; opacity:.78; }
.theme-card h3 { position:relative; z-index:1; max-width:280px; margin-top:34px; font-size:clamp(24px,2.4vw,34px); line-height:1.02; letter-spacing:-.07em; font-weight:600; }
.theme-card p { position:relative; z-index:1; max-width:300px; margin-top:14px; font-size:13px; line-height:1.55; opacity:.78; }
.theme-card .tile-link { position:relative; z-index:1; }
.theme-link { display:block; margin-top:12px; color:inherit; font-size:14px; line-height:1.45; text-decoration:underline; text-underline-offset:3px; }
.theme-prompts { margin-top:12px; }
.theme-prompts li { font-size:13px; line-height:1.5; }
.theme-source-links { display:grid; gap:8px; margin:12px 0 0; padding:0; list-style:none; }
.theme-source-links a { font:500 12px 'DM Mono',monospace; }
@media (max-width: 1080px) { .theme-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 820px) { .themes { padding:70px 20px 0; } .theme-grid { grid-template-columns:1fr; } .theme-card { min-height:0; } .theme-card h3 { margin-top:26px; } }
.contact-entry-list { max-width:700px; margin-top:30px; display:grid; gap:12px; }
.contact-entry-card { display:block; padding:22px; border:1px solid var(--line); border-radius:12px; color:inherit; text-decoration:none; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.contact-entry-card:hover { transform:translateY(-3px); border-color:var(--ink); box-shadow:0 12px 26px rgba(17,17,19,.08); }
.contact-entry-top { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font:500 9px 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
.contact-entry-card h3 { max-width:560px; margin-top:28px; font-size:26px; line-height:1.05; letter-spacing:-.06em; }
.contact-entry-card p { max-width:600px; margin-top:14px; color:var(--muted); font-size:13px; line-height:1.55; }
.contact-entry-card .tile-link { margin-top:22px; }
@media (max-width: 820px) { .contact-entry-top { display:block; } .contact-entry-top span + span { display:block; margin-top:8px; } .contact-entry-card h3 { margin-top:22px; } }
@media (max-width: 820px) { .entry-back { display:block; } .entry-page .site-header { padding-bottom:20px; } .entry-page .nav { display:none; } .entry-hero { margin:15px 20px 0; padding:22px 20px 52px; } .entry-hero-top { display:block; } .entry-hero-top span + span { display:block; margin-top:9px; } .entry-hero-copy { margin-top:65px; } .entry-hero-copy > p { font-size:15px; } .entry-layout { display:block; padding:65px 20px 84px; } .entry-aside { position:static; } .entry-aside-group { margin-top:30px; } .contents-disclosure { width:max-content; margin-top:24px; border:1px solid var(--red); border-radius:999px; } .contents-disclosure > summary { padding:10px 13px; } .contents-disclosure[open] { width:min(100%, 260px); border-radius:12px; } .contents-disclosure[open] .signal-contents { padding:0 13px 13px 28px; } .entry-content { margin-top:32px; } .entry-section + .entry-section { margin-top:65px; } .entry-narrative { font-size:16px; } .example-list { grid-template-columns:1fr; } .example-list article { min-height:0; } .back-to-top { right:16px; bottom:16px; } }
@media (max-width: 820px) { .entry-aside-group { margin-top:22px; } .entry-aside-group + .entry-aside-group { margin-top:18px; } .contents-disclosure { margin-top:24px; } .entry-tags { gap:5px; margin-top:8px; } .entry-tags span { padding:5px 7px; } }

/* Source-led editorial treatments. Structure remains shared; the source changes the voice. */
.entry-hero { position:relative; isolation:isolate; }
.entry-hero-top,.entry-hero-copy { position:relative; z-index:2; }
.hero-source-link { display:inline-flex; align-items:center; gap:32px; margin-top:28px; padding:12px 0 9px; border-bottom:1px solid currentColor; color:inherit; font:500 10px/1 'DM Mono',monospace; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.hero-source-link b { font-size:17px; font-weight:500; transition:transform .2s ease; }
.hero-source-link:hover b { transform:translate(3px,-3px); }
.style-signal { --source-accent:#4f3cf0; }
.style-signal .entry-hero.red { --source-accent:#e4003b; }
.style-signal .entry-hero.blue { --source-accent:#008ca0; }
.style-signal .entry-hero.lime { --source-accent:#728f12; }
.style-signal .entry-hero { color:var(--ink); background:
  radial-gradient(circle at 78% 48%, transparent 0 54px, color-mix(in srgb,var(--source-accent) 28%,transparent) 55px 57px, transparent 58px 92px, color-mix(in srgb,var(--source-accent) 15%,transparent) 93px 95px, transparent 96px),
  radial-gradient(circle at 78% 48%, var(--source-accent) 0 7px, transparent 8px),
  linear-gradient(90deg,transparent 0 52%,color-mix(in srgb,var(--source-accent) 18%,transparent) 72%,transparent 96%),
  #f2f0ea; border:1px solid #dedbd1; }
.style-signal .entry-hero::before { content:''; position:absolute; z-index:0; left:56%; right:7%; top:48%; height:1px; background:linear-gradient(90deg,transparent,var(--source-accent),transparent); box-shadow:0 -42px 0 color-mix(in srgb,var(--source-accent) 16%,transparent),0 42px 0 color-mix(in srgb,var(--source-accent) 16%,transparent); transform:rotate(-5deg); opacity:.85; }
.style-signal .entry-hero::after { content:''; position:absolute; z-index:0; width:9px; height:9px; right:9%; top:33%; border:1px solid var(--source-accent); border-radius:50%; box-shadow:-88px 70px 0 -2px var(--source-accent),-186px 9px 0 -3px var(--source-accent),54px 98px 0 -3px var(--source-accent); }
.style-signal .signal-figures { grid-auto-flow:column; grid-auto-columns:minmax(78%,1fr); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; padding:0 0 12px; }
.style-signal .signal-figure { scroll-snap-align:start; }
.style-signal .signal-figure img { border-radius:0; }

.style-cockpit .entry-hero { color:#fff; background:#050505; border-radius:0; }
.style-cockpit .entry-hero::before { content:''; position:absolute; z-index:0; width:500px; height:500px; right:-150px; top:-260px; border:46px solid #e90130; border-radius:42% 58% 65% 35%; transform:rotate(22deg); }
.style-cockpit .entry-hero::after { content:'OBSERVE  /  UNDERSTAND  /  RECOMMEND  /  APPROVE + ACT'; position:absolute; z-index:1; right:32px; bottom:28px; max-width:310px; color:#ff8ca0; font:500 9px/1.5 'DM Mono',monospace; letter-spacing:.08em; text-align:right; }
.style-cockpit .entry-hero h1 { letter-spacing:-.065em; }
.style-cockpit .entry-meta span { border-radius:0; }
.style-cockpit .example-list article,.style-cockpit .diagram,.style-cockpit .signal-note { border-radius:0; box-shadow:5px 5px 0 var(--ink); }
.style-cockpit .signal-prompt { border-left-width:5px; border-radius:0; background:#111; color:#fff; }
.style-cockpit .signal-prompt small { color:#ff4562; }

.style-blueprint { --blueprint-ink:#0b0e11; --blueprint-bone:#e6e1d5; --blueprint-line:rgba(230,225,213,.17); --blueprint-gold:#d9c24b; }
.style-blueprint .entry-hero { color:var(--blueprint-bone); border-radius:0; border:1px solid rgba(230,225,213,.28); background-color:var(--blueprint-ink); background-image:linear-gradient(rgba(230,225,213,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(230,225,213,.04) 1px,transparent 1px),linear-gradient(rgba(230,225,213,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(230,225,213,.08) 1px,transparent 1px); background-size:14px 14px,14px 14px,112px 112px,112px 112px; }
.style-blueprint .entry-hero::before { content:''; position:absolute; inset:9px; z-index:0; border:1px solid var(--blueprint-line); pointer-events:none; }
.style-blueprint .entry-hero::after { content:'DRAWING  /  REQUEST RESOLUTION  /  REV D'; position:absolute; right:24px; top:18px; color:#6d695f; font:400 9px/1.4 'DM Mono',monospace; letter-spacing:.08em; }
.style-blueprint .entry-hero h1 { max-width:760px; color:#fff; font-weight:700; letter-spacing:-.045em; }
.style-blueprint .entry-hero .signal-short b,.style-blueprint .entry-hero .hero-source-link b { color:var(--blueprint-gold); }
.style-blueprint .entry-meta span,.style-blueprint .example-list article,.style-blueprint .diagram,.style-blueprint .signal-note { border-radius:0; }
.style-blueprint .signal-section { border-top:1px solid var(--line); padding-top:28px; }
.style-blueprint .signal-section > .eyebrow { color:#6d695f; }
.style-blueprint .signal-section > h2::first-letter { color:#e2542b; }
.style-blueprint .signal-prompt { border-left-color:var(--blueprint-gold); background:#0b0e11; color:var(--blueprint-bone); border-radius:0; }
.style-blueprint .signal-prompt small { color:var(--blueprint-gold); }

.style-assessment .entry-hero { color:#000; background:#fff; border:1px solid #000; border-radius:0; }
.style-assessment .entry-hero::before { content:''; position:absolute; inset:0 auto 0 0; width:8px; background:#e90130; }
.style-assessment .entry-hero::after { content:'8–32  READINESS      6–18  ESTATE'; position:absolute; z-index:1; right:28px; top:28px; color:#e90130; font:500 10px/1.4 'DM Mono',monospace; letter-spacing:.07em; white-space:pre; }
.style-assessment .entry-hero h1 { font-weight:500; letter-spacing:-.055em; }
.style-assessment .entry-meta span,.style-assessment .example-list article,.style-assessment .diagram,.style-assessment .signal-note { border-radius:0; }
.style-assessment .signal-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.style-assessment .signal-steps li { display:block; padding:18px; border:0; background:var(--paper); }
.style-assessment .signal-steps b { display:block; min-height:42px; color:#e90130; font-family:'DM Mono',monospace; }
.style-assessment .signal-steps span { display:block; margin-top:12px; font-size:12.5px; line-height:1.5; }
.style-assessment .signal-prompt,.style-assessment .signal-note { border-left:3px solid #e90130; border-top:0; border-right:0; border-bottom:0; background:#f0f0ee; }

.style-playbook { --playbook-purple:#4d35b5; --playbook-teal:#007f86; }
.style-playbook .entry-hero { color:#151229; border:1px solid var(--playbook-purple); border-radius:8px; background-color:#fbfbff; background-image:linear-gradient(rgba(77,53,181,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(77,53,181,.045) 1px,transparent 1px); background-size:24px 24px; }
.style-playbook .entry-hero::before { content:''; position:absolute; z-index:0; inset:9px; border:1px solid rgba(77,53,181,.22); border-radius:5px; }
.style-playbook .entry-hero::after { content:'ARCHITECTURE PLAYBOOK  /  REFERENCE 01'; position:absolute; z-index:1; right:24px; top:18px; color:var(--playbook-purple); font:500 9px/1.4 'DM Mono',monospace; letter-spacing:.08em; }
.style-playbook .entry-hero h1 { max-width:820px; color:var(--playbook-purple); font-weight:600; letter-spacing:-.055em; }
.style-playbook .entry-meta span,.style-playbook .example-list article,.style-playbook .diagram,.style-playbook .signal-note { border-radius:6px; border-color:rgba(77,53,181,.28); }
.style-playbook .signal-section { border-top:2px solid var(--playbook-purple); padding-top:28px; }
.style-playbook .signal-section .eyebrow,.style-playbook .signal-prompt small { color:var(--playbook-purple); }
.style-playbook .signal-figure img { border-radius:6px; border-color:rgba(77,53,181,.28); }
.style-playbook .signal-prompt { border-left-color:var(--playbook-purple); background:rgba(77,53,181,.06); border-radius:0 6px 6px 0; }

.style-signal .entry-layout,.style-cockpit .entry-layout,.style-blueprint .entry-layout,.style-assessment .entry-layout,.style-playbook .entry-layout { padding-top:70px; }
.style-signal .entry-section + .entry-section,.style-cockpit .entry-section + .entry-section,.style-blueprint .entry-section + .entry-section,.style-assessment .entry-section + .entry-section,.style-playbook .entry-section + .entry-section,
.style-signal .entry-section + .signal-section,.style-cockpit .entry-section + .signal-section,.style-blueprint .entry-section + .signal-section,.style-assessment .entry-section + .signal-section,.style-playbook .entry-section + .signal-section,
.style-signal .signal-section + .entry-section,.style-cockpit .signal-section + .entry-section,.style-blueprint .signal-section + .entry-section,.style-assessment .signal-section + .entry-section,.style-playbook .signal-section + .entry-section { margin-top:64px; }

@media (max-width:820px) {
  .hero-source-link { margin-top:24px; }
  .style-signal .entry-hero::before,.style-signal .entry-hero::after,.style-cockpit .entry-hero::after,.style-assessment .entry-hero::after,.style-playbook .entry-hero::after { display:none; }
  .style-cockpit .entry-hero::before { width:280px; height:280px; right:-125px; top:-150px; border-width:26px; }
  .style-signal .signal-figures { grid-auto-columns:92%; }
  .style-assessment .signal-steps { grid-template-columns:1fr; }
  .style-assessment .signal-steps b { min-height:0; }
}

/* Curated seller routes reuse the library's visual language. */
.seller-intro, .seller-group { max-width:1240px; margin:auto; padding:40px 32px; }
.seller-intro > p { max-width:850px; font-size:18px; line-height:1.6; }
.homepage-featured-media { max-width:1176px; margin:0 auto; padding:0 32px 12px; padding-top:10px; }
.homepage-featured-media img { display:block; width:100%; max-height:800px; object-fit:cover; border-radius:16px; }
.homepage-featured-media figcaption { margin-top:12px; color:var(--muted); font-size:12px; line-height:1.5; }
.journey-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.journey-nav a, .journey-related { text-decoration:underline; text-underline-offset:5px; }
.seller-group { scroll-margin-top:24px; }
.seller-group .section-heading { margin-bottom:24px; }
.seller-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.seller-card { display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-top:5px solid var(--red); border-radius:8px; text-decoration:none; }
.seller-card h3 { font-size:22px; line-height:1.2; }
.seller-card p { margin:18px 0 24px; line-height:1.6; color:var(--muted); }
.seller-card .tile-link { margin-top:auto; }
.seller-card.violet { border-top-color:var(--violet); }
.seller-card.blue { border-top-color:var(--blue); }
.seller-card.lime { border-top-color:var(--lime); }
.seller-card:hover { background:#f0eeeb; }
.seller-group--demonstrations .seller-cards { grid-template-columns:1fr 1.5fr; background:#eeeaf7; padding:24px; border-radius:12px; }
.seller-preview { margin:0; }
.seller-preview img { display:block; width:100%; height:auto; }
.seller-preview figcaption { font-size:12px; margin-top:12px; line-height:1.5; }
.seller-group--capabilities .seller-cards { border-left:3px solid var(--blue); padding-left:18px; }
.journey-related { display:inline-block; margin-top:24px; }
.seller-group--next-steps .seller-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px) { .seller-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .seller-intro, .seller-group { padding:30px 20px; }
  .homepage-featured-media { padding:0 20px 2px; }
  .homepage-featured-media img { border-radius:12px; }
  .seller-cards, .seller-group--demonstrations .seller-cards, .seller-group--next-steps .seller-cards { grid-template-columns:1fr; }
  .seller-group--demonstrations .seller-cards { padding:16px; }
}
.contact-trigger { border:1px solid var(--line); background:transparent; color:inherit; border-radius:999px; padding:9px 14px; font:600 11px/1 'DM Mono', monospace; cursor:pointer; transition:border-color .2s ease, color .2s ease; }
.contact-trigger:hover { border-color:var(--ink); }
.contact-modal { width:min(480px,90vw); padding:0; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.18); }
.contact-modal::backdrop { background:rgba(10,10,12,.55); }
.contact-form { display:flex; flex-direction:column; gap:16px; padding:28px; background:var(--paper); color:var(--ink); }
.contact-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.contact-modal-head h2 { font-size:22px; line-height:1.15; letter-spacing:-.03em; font-weight:600; }
.contact-modal-close { border:0; background:transparent; color:var(--muted); font-size:22px; line-height:1; cursor:pointer; padding:2px 4px; }
.contact-modal-close:hover { color:var(--ink); }
.contact-field { display:flex; flex-direction:column; gap:6px; font:500 11px 'DM Mono', monospace; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); }
.contact-field input,.contact-field textarea { font:400 14px/1.5 'Manrope', ui-sans-serif, system-ui, sans-serif; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px 12px; resize:vertical; }
.contact-field input:focus,.contact-field textarea:focus { outline:2px solid var(--red); outline-offset:1px; }
.contact-modal-status { min-height:18px; font-size:12.5px; color:var(--muted); }
.contact-modal-status.is-error { color:var(--red); }
.contact-modal-status.is-success { color:#1a7f43; }
.contact-modal-actions { display:flex; justify-content:flex-end; gap:10px; }
.contact-button { border:1px solid var(--ink); border-radius:999px; padding:10px 18px; font:600 11px/1 'DM Mono', monospace; background:transparent; color:inherit; cursor:pointer; transition:background .2s ease, color .2s ease; }
.contact-button:hover { background:var(--ink); color:#fff; }
.contact-button.primary { border-color:var(--red); background:var(--red); color:#fff; }
.contact-button.primary:hover { background:var(--ink); border-color:var(--ink); }
.contact-button:disabled { opacity:.6; cursor:not-allowed; }

@media (max-width:480px) {
  .contact-form { padding:22px; }
}
/* Native CMS prose keeps the page's source-derived accent and readable rhythm. */
.contentful-body > * + * { margin-top: 1rem; }
.contentful-body h2 { margin-top: 2.5rem; }
.contentful-body ul, .contentful-body ol { padding-left: 1.5rem; }
.contentful-body li + li { margin-top: .75rem; }
.contentful-body blockquote { border-left: 4px solid currentColor; margin-inline: 0; padding: 1rem 1.5rem; background: rgba(128, 128, 128, .08); }
.contentful-body table { display: block; overflow-x: auto; border-collapse: collapse; max-width: 100%; }
.contentful-body td, .contentful-body th { border: 1px solid #ccc; padding: .75rem; vertical-align: top; }
.contentful-body code { white-space: pre-wrap; overflow-wrap: anywhere; }
.collection-layout-list, .collection-layout-sequence { display: flex; flex-direction: column; }
.collection-layout-sequence { counter-reset: collection-step; }
.collection-layout-sequence > a::before { counter-increment: collection-step; content: counter(collection-step, decimal-leading-zero); font-weight: 700; }
.collection-layout-featured > a:first-child { grid-column: 1 / -1; }

/* Access gate: login, portal, denied, and admin pages */
.gate-page { min-height:100vh; display:flex; flex-direction:column; }
.gate-page [hidden] { display:none !important; }
.gate-header { width:100%; }
.gate-main { flex:1; width:100%; max-width:1240px; margin:0 auto; padding:40px 32px 96px; }
.gate-title { margin-top:18px; font-size:clamp(34px,5vw,58px); line-height:1.04; letter-spacing:-.06em; font-weight:500; }
.gate-lede { margin-top:18px; color:var(--muted); font-size:16px; line-height:1.6; }
.gate-panel { max-width:460px; margin:4vh auto 0; }
.gate-panel .button { margin-top:28px; }
.gate-form { display:flex; flex-direction:column; gap:10px; margin-top:24px; }
.gate-label { font:500 11px 'DM Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.gate-input { width:100%; min-height:46px; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:500 15px 'Manrope', sans-serif; }
.gate-input-code { font-family:'DM Mono', monospace; letter-spacing:.12em; }
.gate-input:focus-visible, .gate-button:focus-visible, .gate-link:focus-visible, .portal-tile:focus-visible, .gate-header .brand:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.gate-button { min-height:46px; padding:12px 18px; border:1px solid var(--ink); border-radius:999px; background:transparent; color:var(--ink); font:600 12px 'DM Mono', monospace; cursor:pointer; transition:background .2s ease, color .2s ease; }
.gate-button:hover { background:var(--ink); color:#fff; }
.gate-button.primary { border-color:var(--red); background:var(--red); color:#fff; }
.gate-button.primary:hover { border-color:var(--ink); background:var(--ink); }
.gate-button:disabled, .gate-link:disabled { opacity:.55; cursor:progress; }
.gate-link { padding:4px 0; border:0; background:none; color:var(--ink); font:500 12px 'DM Mono', monospace; text-decoration:underline; text-underline-offset:4px; cursor:pointer; align-self:flex-start; }
.gate-providers { display:grid; gap:10px; margin-top:28px; }
.gate-divider { display:flex; align-items:center; gap:14px; margin-top:28px; color:var(--muted); font:500 11px 'DM Mono', monospace; text-transform:uppercase; }
.gate-divider::before, .gate-divider::after { content:''; flex:1; height:1px; background:var(--line); }
.gate-error { margin-top:22px; padding:12px 14px; border-left:3px solid var(--red); background:#fff; font-size:14px; line-height:1.5; }
.gate-note { color:var(--muted); font-size:14px; line-height:1.55; }
.gate-account { display:flex; align-items:center; gap:18px; font:500 12px 'DM Mono', monospace; }
.gate-viewer { color:var(--muted); overflow-wrap:anywhere; }
.portal .section-heading, .admin .section-heading { margin-bottom:34px; }
.portal-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
.portal-tile { min-height:240px; background:#fff; }
.portal-tile h2 { margin-top:14px; font-size:24px; line-height:1.15; letter-spacing:-.03em; }
.portal-kicker { color:var(--muted); font:500 10px 'DM Mono', monospace; letter-spacing:.06em; text-transform:uppercase; }
.admin-forms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.admin-card { margin-top:0; padding:26px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.admin-card h2, .admin-table-section h2 { font-size:22px; letter-spacing:-.03em; }
.admin-resources { display:grid; gap:4px; margin:6px 0 0; padding:0; border:0; }
.admin-resources .filter-option { display:flex; gap:10px; align-items:flex-start; padding:6px 0; font-size:14px; line-height:1.4; }
.admin-code-result { display:grid; gap:8px; margin-top:10px; padding:14px; border-radius:10px; background:var(--paper); }
.admin-code { font:600 20px 'DM Mono', monospace; letter-spacing:.08em; overflow-wrap:anywhere; }
.admin-actions { white-space:nowrap; }
.admin-inline-input { min-height:36px; padding:6px 10px; font-size:14px; }
.admin-actions .gate-link + .gate-link { margin-left:14px; }
.admin-code-inline { font:600 14px 'DM Mono', monospace; letter-spacing:.08em; }
.admin-table-section { margin-top:52px; }
.admin-table-wrap { margin-top:16px; overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:14px; }
.admin-table th { color:var(--muted); font:500 10px 'DM Mono', monospace; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.admin-table th, .admin-table td { padding:11px 12px 11px 0; border-bottom:1px solid var(--line); vertical-align:top; }
@media (max-width: 900px) { .portal-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-forms { grid-template-columns:1fr; } }
@media (max-width: 600px) {
  .gate-main { padding:24px 16px 72px; }
  .gate-header { padding-left:16px; padding-right:16px; }
  .gate-header .brand-label { display:none; }
  .gate-account { gap:12px; }
  .portal-tiles { grid-template-columns:1fr; }
  .admin-card { padding:20px 16px; }
}
