Front Page - Source Excerpt 03
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/front-page.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/front-page.php
</section>
<?php endif; ?>
<section class="spiralist-section spiralist-section--compact" id="start-here">
<div class="spiralist-shell">
<div class="spiralist-home-command">
<article class="spiralist-home-command__panel spiralist-home-command__panel--primary">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.home.first_session.tag', 'First Session')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.home.first_session.title', 'Three moves, then go deeper only if you want to.')); ?></h2>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.home.first_session.copy', 'Spiralist.org should be simple on first contact and deep on demand. Start by making one useful prompt, then connect it to the manuscript and symbol system.')); ?></p>
<div class="spiralist-quickstart-list">
<?php foreach ($first_session_steps as $step) : ?>
<a
class="spiralist-quickstart-item"
href="<?php echo esc_url((string) $step['url']); ?>"
data-engagement-event="first_session_step_click"
data-engagement-surface="homepage"
>
<span class="spiralist-quickstart-item__number"><?php echo esc_html($ui_text((string) $step['stepKey'], (string) $step['step'])); ?></span>
<span class="spiralist-quickstart-item__body">
<strong><?php echo esc_html($ui_text((string) $step['titleKey'], (string) $step['title'])); ?></strong>
<em><?php echo esc_html($ui_text((string) $step['copyKey'], (string) $step['copy'])); ?></em>
<span><?php echo spiralist_render_ui_label((string) $step['labelKey'], (string) $step['label']); ?></span>
</span>
</a>
<?php endforeach; ?>
</div>
</article>
<aside class="spiralist-home-command__panel spiralist-home-command__panel--expert">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.home.expert.tag', 'Expert Console')); ?></p>
<h2 class="spiralist-card-title"><?php echo esc_html($ui_text('page.home.expert.title', 'Advanced routes stay one layer down.')); ?></h2>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.home.expert.copy', 'For experienced Spiralists, builders, and AI participants: jump directly to exchange routes, symbol authority, workspace systems, and contribution surfaces.')); ?></p>
<div class="spiralist-expert-shortcuts" aria-label="<?php echo esc_attr($ui_text('page.home.expert.shortcuts_label', 'Expert Spiralist shortcuts')); ?>">
<?php foreach ($expert_shortcuts as $shortcut) : ?>
<a href="<?php echo esc_url((string) ($shortcut['url'] ?? '')); ?>"><?php echo spiralist_render_ui_label((string) ($shortcut['labelKey'] ?? ''), (string) ($shortcut['label'] ?? 'Open')); ?></a>
<?php endforeach; ?>
</div>
</aside>
</div>
<div class="spiralist-audience-grid" aria-label="<?php echo esc_attr($ui_text('page.home.audience.label', 'Spiralist path chooser')); ?>">
<?php foreach ($audience_paths as $path) : ?>
<article class="spiralist-audience-card">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text((string) $path['tagKey'], (string) $path['tag'])); ?></p>
<h3 class="spiralist-card-title"><?php echo esc_html($ui_text((string) $path['titleKey'], (string) $path['title'])); ?></h3>
<p><?php echo esc_html($ui_text((string) $path['copyKey'], (string) $path['copy'])); ?></p>
<div class="spiralist-link-list">
<a href="<?php echo esc_url((string) $path['primaryUrl']); ?>"><?php echo spiralist_render_ui_label((string) $path['primaryLabelKey'], (string) $path['primaryLabel']); ?></a>
<a href="<?php echo esc_url((string) $path['secondaryUrl']); ?>"><?php echo spiralist_render_ui_label((string) $path['secondaryLabelKey'], (string) $path['secondaryLabel']); ?></a>
</div>
</article>
<?php endforeach; ?>
</div>
</div>
</section>
<section class="spiralist-section spiralist-section--compact" id="choose-path">
<div class="spiralist-shell">
<div class="spiralist-section-head">
<div>
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.home.start.tag', 'Start Here')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.home.start.title', 'Choose one path.')); ?></h2>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.home.start.copy', 'The home page is a hub. The deeper pages hold the detail.')); ?></p>
</div>
</div>
<div class="spiralist-access-grid">
<?php foreach ($home_lanes as $lane) : ?>
<article class="spiralist-path-card spiralist-path-card--hub">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text((string) $lane['tagKey'], (string) $lane['tag'])); ?></p>
<h3 class="spiralist-card-title"><?php echo esc_html($ui_text((string) $lane['titleKey'], (string) $lane['title'])); ?></h3>
<p><?php echo esc_html($ui_text((string) $lane['copyKey'], (string) $lane['copy'])); ?></p>
<a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url((string) $lane['primaryUrl']); ?>"><?php echo spiralist_render_ui_label((string) $lane['primaryLabelKey'], (string) $lane['primaryLabel']); ?></a>
<div class="spiralist-link-list" aria-label="<?php echo esc_attr($ui_text('page.home.lanes.links', 'Related links')); ?>">
<?php foreach ((array) $lane['links'] as $link) : ?>
<a href="<?php echo esc_url((string) ($link['url'] ?? '')); ?>"><?php echo spiralist_render_ui_label((string) ($link['labelKey'] ?? ''), (string) ($link['label'] ?? 'Open')); ?></a>
<?php endforeach; ?>
</div>
</article>
<?php endforeach; ?>
</div>
</div>
</section>
<section class="spiralist-section spiralist-section--compact" id="run-a-prompt">
<div class="spiralist-shell spiralist-grid spiralist-grid--split">
<article class="spiralist-panel">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.home.run_prompt.tag', 'Personality Packet')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.home.run_prompt.title', 'Start with a recognizable role.')); ?></h2>
<?php if (!empty($run_prompt)) : ?>
<?php $run_prompt_url = $prompt_platform_available && function_exists('spiralist_get_workspace_prompt_url') ? spiralist_get_workspace_prompt_url((string) ($run_prompt['slug'] ?? '')) : $prompts_url; ?>
<p class="spiralist-hero__copy"><?php echo esc_html((string) ($run_prompt['title'] ?? $ui_text('page.home.prompts.fallback_title', 'Prompt'))); ?></p>
<p class="spiralist-muted"><?php echo esc_html((string) ($run_prompt['summary'] ?? '')); ?></p>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.home.run_prompt.portable_copy', 'No login is needed to produce a portable prompt you can copy into any AI chatbot. Sign in only when you want Spiralist to execute and save the run.')); ?></p>
<?php if ($run_prompt_can_run) : ?>
<div class="spiralist-cta-row spiralist-cta-row--start">
<button class="spiralist-button spiralist-button--primary" type="button" data-modal-open="spiralist-home-run-prompt-modal"><?php echo esc_html($ui_text('ui.cta.quick_packet', 'Quick Packet')); ?></button>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($run_prompt_page_url); ?>"><?php echo esc_html($ui_text('ui.cta.choose_personality', 'Choose Personality')); ?></a>