.decision-hero {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
    background: var(--paper);
    box-shadow: var(--shadow-raised);
}
.decision-hero__main {
    padding: clamp(36px, 6vw, 72px);
    background-image: radial-gradient(circle at 90% 0, var(--signal-soft), transparent 38%);
}
.decision-hero h1 {
    max-inline-size: 760px;
    margin-block: var(--space-4) 0;
    font-size: var(--type-hero);
    line-height: 1.04;
}
.decision-hero h1 span { display: block; }
.decision-hero__main > p {
    max-inline-size: 700px;
    margin: var(--space-6) 0 0;
    color: var(--ink-soft);
    font-size: var(--text-body-lg);
}
.hero-search {
    max-inline-size: 720px;
    margin-block-start: var(--space-8);
    padding: var(--space-5);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--paper-overlay);
}
.hero-search > strong { display: block; margin-block-end: var(--space-3); font-size: var(--text-base); }
.search-form {
    max-inline-size: 560px;
    margin: var(--space-6) auto 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}
.hero-search .search-form, .archive-search .search-form { max-inline-size: none; margin: 0; }
.search-form label { min-inline-size: 0; }
.search-form input {
    inline-size: 100%;
    min-block-size: 50px;
    padding: 10px var(--space-4);
    border: 1px solid var(--line-strong);
    border-inline-end: 0;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    color: var(--ink);
    background: var(--paper-strong);
}
.search-form button {
    min-block-size: 50px;
    padding: 10px var(--space-5);
    border: 1px solid var(--ink);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    color: var(--paper);
    background: var(--ink);
    font-weight: 780;
}
.search-form button:hover { background: var(--leaf); }
.topic-shortcuts { margin-block-start: var(--space-3); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }
.topic-shortcuts span { color: var(--ink-soft); font-weight: 750; }
.topic-shortcuts a { padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); text-decoration: none; font-weight: 750; }
.topic-shortcuts a:hover { color: var(--signal-dark); border-color: var(--signal); }
.decision-brief {
    margin: var(--space-3);
    padding: clamp(28px, 4vw, 48px);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    color: var(--ink-on-leaf);
    background: var(--leaf);
    background-image: radial-gradient(circle at 100% 0, var(--paper-glow), transparent 38%);
}
.decision-brief__header { padding-block-end: var(--space-6); border-block-end: 1px solid var(--line-on-dark); display: flex; justify-content: space-between; gap: var(--space-4); }
.decision-brief__header span { color: var(--signal-on-leaf); font-family: var(--font-mono); font-size: var(--text-2xs); font-weight: 850; letter-spacing: 0.08em; }
.decision-brief__header strong { font-size: var(--text-sm); }
.decision-brief ol { margin: var(--space-6) 0; padding: 0; display: grid; gap: var(--space-5); list-style: none; }
.decision-brief li { display: grid; grid-template-columns: 34px 1fr; gap: var(--space-3); align-items: start; }
.decision-brief li > span { inline-size: 30px; block-size: 30px; border: 1px solid var(--line-on-dark-strong); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-mono); font-size: var(--text-xs); }
.decision-brief li strong { display: block; font-size: var(--text-body-sm); }
.decision-brief li p { margin: var(--space-1) 0 0; color: var(--ink-soft-on-leaf); font-size: var(--text-md); }
.decision-brief > a { margin-block-start: auto; min-block-size: 48px; padding: 10px var(--space-4); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: space-between; color: var(--ink); background: var(--wheat); text-decoration: none; font-size: var(--text-md); font-weight: 800; }

.decision-paths, .featured-guide, .guide-library, .related-guides {
    margin-block-start: var(--space-4);
    padding: clamp(28px, 4vw, 52px);
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background: var(--paper);
}
.section-heading { margin-block-end: var(--space-8); display: flex; align-items: end; justify-content: space-between; gap: var(--space-8); }
.section-heading h2 { margin: var(--space-2) 0 0; font-size: var(--type-section); line-height: 1.16; }
.section-heading > p { max-inline-size: 430px; margin: 0; color: var(--ink-soft); text-align: end; font-size: var(--text-base); }
.section-heading--compact { margin-block-end: var(--space-6); }
.decision-lane-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.decision-lane {
    position: relative;
    min-block-size: 190px;
    padding: var(--space-5);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    background: var(--paper-strong);
    text-decoration: none;
    transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.decision-lane:hover { border-color: var(--signal); background: var(--signal-soft); transform: translateY(-2px); }
.decision-lane > span { color: var(--signal-dark); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 850; }
.decision-lane strong { margin-block-start: var(--space-5); font-size: var(--text-lead); line-height: 1.35; }
.decision-lane p { margin: var(--space-2) 0 0; color: var(--ink-soft); font-size: var(--text-md); }
.decision-lane i { margin-block-start: auto; align-self: end; color: var(--signal-dark); font-style: normal; font-size: var(--text-card-title); }

.featured-story {
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    background: var(--paper-strong);
    text-decoration: none;
}
.featured-story:hover { border-color: var(--signal); }
.featured-story__image { inline-size: 100%; block-size: 100%; min-block-size: 390px; display: block; object-fit: cover; }
.guide-cover {
    position: relative;
    min-block-size: 210px;
    padding: var(--space-5);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--guide-ink);
    background-color: var(--leaf-soft);
    background-image: linear-gradient(135deg, transparent 0 54%, var(--guide-shine) 54% 55%, transparent 55%), radial-gradient(circle at 80% 22%, var(--wheat) 0 16%, transparent 16%);
    isolation: isolate;
}
.guide-cover::before { content: ""; position: absolute; z-index: -1; inline-size: 72%; block-size: 72%; inset: 14% auto auto 14%; border: 1px solid var(--guide-stroke); border-radius: 50%; }
.guide-cover::after { content: ""; position: absolute; inset: auto 0 0 auto; border-style: solid; border-width: 0 0 44px 44px; border-color: transparent transparent var(--paper) transparent; }
.guide-cover span, .guide-cover i { font-family: var(--font-mono); font-size: var(--text-2xs); font-style: normal; font-weight: 800; letter-spacing: 0.08em; }
.guide-cover strong { max-inline-size: 250px; font-size: var(--type-cover); line-height: 1.05; letter-spacing: -0.05em; }
.guide-cover--featured { min-block-size: 100%; padding: clamp(28px, 5vw, 56px); }
.guide-cover--featured strong { max-inline-size: 360px; font-size: var(--type-cover-featured); }
.featured-story__copy { padding: clamp(30px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; }
.featured-story__copy > span { color: var(--signal-dark); font-size: var(--text-sm); font-weight: 850; }
.featured-story__copy h3 { margin: var(--space-3) 0 0; font-size: var(--type-featured); line-height: 1.16; }
.featured-story__copy > p { margin: var(--space-5) 0 0; color: var(--ink-soft); }
.story-meta { margin-block-start: var(--space-6); padding-block-start: var(--space-4); border-block-start: 1px solid var(--line); display: flex; gap: var(--space-4); color: var(--ink-soft); font-size: var(--text-sm); }
.text-link { margin-block-start: var(--space-6); color: var(--signal-dark); font-size: var(--text-base); }

.post-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.post-card { min-inline-size: 0; margin: 0; border-block-start: 2px solid var(--ink); background: var(--paper-strong); transition: border-color 150ms ease; }
.post-card:hover { border-color: var(--signal); }
.post-card__link { block-size: 100%; padding-block-start: var(--space-4); display: flex; flex-direction: column; text-decoration: none; }
.post-card__visual { overflow: hidden; border-radius: var(--radius-md); }
.post-card__visual img { inline-size: 100%; aspect-ratio: 3 / 2; display: block; object-fit: cover; }
.post-card__copy { padding: var(--space-5) var(--space-1) var(--space-2); display: flex; flex: 1; flex-direction: column; }
.post-card__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); color: var(--ink-soft); font-size: var(--text-xs); }
.post-card__meta span { color: var(--signal-dark); font-weight: 850; }
.post-card__copy h3 { margin: var(--space-3) 0 0; font-size: var(--text-card-title); line-height: 1.35; }
.post-card__copy > p { margin: var(--space-3) 0; color: var(--ink-soft); font-size: var(--text-base); }
.post-card__copy > strong { margin-block-start: auto; padding-block-start: var(--space-2); color: var(--signal-dark); font-size: var(--text-sm); }
.empty-state { padding: var(--space-12); border: 1px dashed var(--line-strong); border-radius: var(--radius-md); background: var(--paper-muted); text-align: center; }
.empty-state > strong { display: block; margin-block-start: var(--space-2); font-size: var(--text-empty-title); }
.empty-state > p { max-inline-size: 580px; margin: var(--space-2) auto var(--space-5); color: var(--ink-soft); }
.empty-state .button { margin-block-start: var(--space-3); }

.editorial-method {
    margin-block-start: var(--space-4);
    padding: clamp(32px, 5vw, 64px);
    border-radius: var(--radius-xl);
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: clamp(32px, 6vw, 80px);
    color: var(--ink-on-dark);
    background: var(--ink);
}
.editorial-method .section-index { color: var(--signal-on-dark); }
.editorial-method h2 { margin: var(--space-3) 0 0; font-size: var(--type-method); line-height: 1.14; }
.editorial-method h2 span { white-space: nowrap; }
.editorial-method__intro p { color: var(--ink-soft-on-dark); }
.editorial-method ol { margin: 0; padding: 0; display: grid; gap: var(--space-3); list-style: none; }
.editorial-method li { padding: var(--space-5); border-block-start: 1px solid var(--line-on-dark); display: grid; grid-template-columns: 48px 150px 1fr; gap: var(--space-4); align-items: start; }
.editorial-method li > span { color: var(--signal-on-dark); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 850; }
.editorial-method li strong { color: var(--wheat); }
.editorial-method li p { margin: 0; color: var(--ink-muted-on-dark); font-size: var(--text-base); }
.shop-cta {
    margin-block-start: var(--space-4);
    padding: clamp(34px, 5vw, 64px);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-10);
    color: var(--shop-ink);
    background: var(--wheat);
}
.shop-cta > div { max-inline-size: 720px; }
.shop-cta > div > span { font-family: var(--font-mono); font-size: var(--text-2xs); font-weight: 850; letter-spacing: 0.1em; }
.shop-cta h2 { margin: var(--space-2) 0 0; font-size: var(--type-featured); line-height: 1.15; }
.shop-cta__keep { white-space: nowrap; }
.shop-cta p { margin: var(--space-3) 0 0; color: var(--shop-ink-soft); }
.shop-cta > a, .article-shop-cta > a {
    min-block-size: 50px;
    padding: 12px var(--space-5);
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    color: var(--paper);
    background: var(--leaf);
    text-decoration: none;
    font-size: var(--text-base);
    font-weight: 800;
    white-space: nowrap;
}
.shop-cta > a:hover, .article-shop-cta > a:hover { background: var(--leaf-dark); }
.button {
    min-block-size: 48px;
    padding: 11px var(--space-5);
    border: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    text-decoration: none;
    font-weight: 780;
}
.button--primary { color: var(--paper); border-color: var(--signal-dark); background: var(--signal); }
.button--primary:hover { background: var(--signal-dark); }
.button--secondary { background: var(--paper); }
