/* The remaining homepage sections share the cinematic article and banner palette. */
.home .hp { background:#090f15; color:#f2f5f8; }
.hp > :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more,.hp-sec--page) { --c-ink:#f2f5f8; --c-steel:#a8b5c5; --c-line:#263440; position:relative; background:#090f15; color:#f2f5f8; padding-block:var(--hp-section-gap); }
.hp > :is(.hp-sec--categories,.hp-sec--more) { background:radial-gradient(ellipse at 100% 0%,rgb(137 31 55 / 8%),transparent 60%),#0c131b; }
.hp > .hp-sec--experts { background:radial-gradient(ellipse at 0% 10%,rgb(167 33 55 / 12%),transparent 55%),#090f15; }
.hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more,.hp-sec--page) .hp-head { align-items:center; flex-wrap:wrap; gap:20px; margin-block-end:var(--hp-heading-gap); padding:0; border:0; }
.hp .hp-head > div { min-inline-size:0; flex:1 1 240px; }
.hp-head__eyebrow { display:inline-flex; align-items:center; gap:12px; margin-block-end:12px; color:#ff3d52; font:600 12px/1.4 Heebo,Arial,sans-serif; letter-spacing:.07em; }
.hp-head__eyebrow::after { content:""; inline-size:32px; block-size:1px; background:currentColor; }
.hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more) .hp-head__title { padding:0; margin:0; color:#f2f5f8; font:800 clamp(28px,3vw,42px)/1.2 Heebo,Arial,sans-serif; letter-spacing:-.025em; }
.hp .hp-head__title::before,.hp .hp-head__title::after { content:none; }
.hp .hp-head__sub { margin:12px 0 0; color:#a8b5c5; font-size:15px; line-height:1.7; }
.hp .hp-head__link { gap:14px; min-block-size:40px; padding:8px 18px; border:1px solid #74313c; border-radius:999px; color:#ff5264; background:rgb(255 42 67 / 3%); font-size:13px; font-weight:600; text-decoration:none; transition:background .18s,border-color .18s; }
.hp .hp-head__link .icon { inline-size:18px; block-size:18px; }
.hp .hp-head__link:hover { color:#fff; background:#c3233a; border-color:#c3233a; text-decoration:none; }
.hp :is(.hp-head__link,.hp-cat__all,.hp-more__btn):focus-visible { outline:2px solid #ff5264; outline-offset:4px; }
.hp :is(.hp-sec--tools,.hp-sec--more) .hp-grid { gap:var(--hp-grid-gap); align-items:stretch; }
.hp :is(.hp-sec--tools,.hp-sec--more) .samurai-card { border-color:#2b3946; border-radius:14px; }
.hp :is(.hp-sec--tools,.hp-sec--more) .samurai-card:hover { border-color:#374552; }
.hp .hp-more { margin-block-start:28px; }
.hp .hp-more__btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; box-sizing:border-box; min-inline-size:220px; max-inline-size:100%; min-block-size:48px; padding:12px 24px; border:1px solid #ad3549; border-radius:12px; background:#18151e; color:#f2dbe0; font:600 14px/1.5 Heebo,Arial,sans-serif; text-align:center; white-space:normal; overflow-wrap:anywhere; box-shadow:inset 0 1px 0 rgb(255 255 255 / 4%); transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.hp .hp-more__btn::after { content:""; flex:none; box-sizing:border-box; inline-size:18px; block-size:18px; margin:0; border:0; border-radius:0; background:linear-gradient(currentColor,currentColor) center / 12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center / 1.5px 12px no-repeat; }
.hp .hp-more__btn:hover { background:#30202b; border-color:#ff5264; color:#fff; transform:none; }
.hp .hp-more__btn:active { background:#3c2330; }
.hp .hp-more.is-loading .hp-more__btn { opacity:.75; pointer-events:none; }
.hp .hp-more.is-loading .hp-more__btn::after { margin:0; inline-size:18px; block-size:18px; border:1.5px solid currentColor; border-inline-end-color:transparent; border-radius:50%; background:none; }
@media(max-width:700px) { .hp .hp-more__btn { inline-size:min(100%,320px); min-inline-size:0; padding-inline:18px; } }
@media(prefers-reduced-motion:reduce) { .hp .hp-more__btn { transition:none; } .hp .hp-more.is-loading .hp-more__btn::after { animation:none; } }
/* Expert styles and chosen card parts remain controlled by Experts settings. */
.hp-sec--experts .ex-grid { grid-template-columns:repeat(var(--home-expert-cols,3),minmax(0,1fr)); gap:var(--hp-grid-gap); }
.hp-sec--experts .ex-grid:has(> :only-child) { max-inline-size:380px; grid-template-columns:minmax(0,1fr); }
/* Category collections: one photograph, clear story rows and an archive action. */
.hp-sec--categories .hp-cats { gap:var(--hp-grid-gap); align-items:stretch; }
.hp-sec--categories .hp-cats:has(> :only-child) { grid-template-columns:minmax(0,1fr); max-inline-size:800px; }
.hp-sec--categories .hp-cat { display:flex; flex-direction:column; min-inline-size:0; padding:22px; border:1px solid #2b3946; border-radius:16px; background:linear-gradient(140deg,#121d28,#0c141c); box-shadow:none; }
.hp-sec--categories .hp-cat__head { align-items:center; gap:12px; padding:0 0 18px; margin:0; border:0; }
.hp-sec--categories .hp-cat__head h3 { margin:0; font:700 21px/1.35 Heebo,Arial,sans-serif; }
.hp-sec--categories .hp-cat__head a { color:#f2f5f8; text-decoration:none; }
.hp-sec--categories .hp-cat__count { display:grid; place-items:center; min-inline-size:30px; min-block-size:28px; padding:3px 8px; border:1px solid #66303d; border-radius:8px; color:#ff6475; background:#271923; font-size:12px; }
.hp-sec--categories .hp-cat__list { margin:0; padding:0; list-style:none; }
.hp-sec--categories .hp-cat__list > li { margin:0; padding:14px 0; border:0; border-block-start:1px solid #273440; }
.hp-sec--categories .hp-cat__list > li:first-child { border:0; padding-block-start:0; }
.hp-sec--categories .hp-cat__list a { color:#e4eaf1; text-decoration:none; font-size:14px; font-weight:600; line-height:1.6; }
.hp-sec--categories .hp-cat__list a:hover { color:#ff7887; text-decoration:none; }
.hp-sec--categories .hp-cat__list .card__time { display:block; margin-block-start:5px; color:#8b9aab; font-size:11px; }
.hp-sec--categories .hp-cat__lead { position:relative; }
.hp-sec--categories .hp-cat__lead img { display:block; inline-size:100%; block-size:auto; aspect-ratio:16 / 10; object-fit:cover; border-radius:10px; margin-block-end:12px; }
.hp-sec--categories .hp-cat__lead strong { display:block; font:700 19px/1.4 Heebo,Arial,sans-serif; color:inherit; }
.hp-cat__all { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block-start:auto; padding-block-start:18px; color:#ff5264; font-size:12px; font-weight:600; text-decoration:none; }
.hp-cat__all .icon { inline-size:18px; block-size:18px; }
.hp-cat__all:hover { color:#fff; text-decoration:none; }
@media(min-width:701px) {
 .hp-sec--categories .hp-cat:only-child .hp-cat__list:has(.hp-cat__lead) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; align-content:start; }
 .hp-sec--categories .hp-cat:only-child .hp-cat__lead { grid-row:1 / span 6; }
 .hp-sec--categories .hp-cat:only-child .hp-cat__list > li:not(.hp-cat__lead) { grid-column:2; }
 .hp-sec--categories .hp-cat:only-child .hp-cat__lead img { aspect-ratio:4 / 3; }
}
@media(min-width:701px) and (max-width:1100px) {
 .hp-sec--experts .ex-grid { grid-template-columns:repeat(min(var(--home-expert-cols,3),2),minmax(0,1fr)); }
 .hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more) { padding-block:calc(var(--hp-section-gap) * .8); }
}
@media(max-width:700px) {
 .hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more,.hp-sec--page) { padding-block:var(--hp-section-gap); }
 .hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more) .hp-head { align-items:flex-start; gap:16px; }
 .hp .hp-head > div { flex-basis:200px; }
 .hp-head__eyebrow { font-size:10px; margin-block-end:8px; gap:8px; }
 .hp :is(.hp-sec--experts,.hp-sec--categories,.hp-sec--tools,.hp-sec--more) .hp-head__title { font-size:27px; }
 .hp .hp-head__sub { font-size:13px; line-height:1.6; margin-block-start:8px; }
 .hp .hp-head__link { min-block-size:34px; padding:6px 12px; font-size:11px; gap:8px; }
 .hp :is(.hp-sec--tools,.hp-sec--more) .hp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .hp :is(.hp-sec--tools,.hp-sec--more) .sc-card__body { padding:12px; }
 .hp :is(.hp-sec--tools,.hp-sec--more) .sc-card__title { font-size:16px; margin-block-end:10px; }
 .hp :is(.hp-sec--tools,.hp-sec--more) .sc-card__excerpt { font-size:12px; -webkit-line-clamp:2; margin-block-end:12px; }
 .hp :is(.hp-sec--tools,.hp-sec--more) .sc-card__category { font-size:10px; padding:4px 9px; inset-block-start:10px; inset-inline-start:10px; }
 .hp-sec--experts .ex-grid { grid-template-columns:repeat(min(var(--home-expert-cols,2),2),minmax(0,1fr)); gap:12px; }
 .hp-sec--categories .hp-cats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hp-sec--categories .hp-cat { padding:14px; border-radius:12px; }
 .hp-sec--categories .hp-cat__head h3 { font-size:17px; }
 .hp-sec--categories .hp-cat__lead strong { font-size:15px; }
 .hp-sec--categories .hp-cat__list a { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
 .hp-sec--categories .hp-cat__list > li { min-inline-size:0; padding-block:9px; }
 .hp-sec--categories .hp-cat__head { padding-block-end:10px; }
 .hp-sec--categories .hp-cat__head h3 { min-inline-size:0; overflow-wrap:anywhere; }
 .hp-sec--categories .hp-cat__all { min-block-size:44px; padding-block-start:8px; }
}
@media(max-width:359px) { .hp :is(.hp-sec--tools,.hp-sec--more) .hp-grid { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .hp .hp-head__link { transition:none; } }

/* Decorative expert-section artwork on desktop and mobile. */
.hp > .hp-sec--experts { isolation:isolate; overflow:hidden; }
.hp-experts__backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hp-experts__backdrop img { display:block; inline-size:100%; block-size:100%; object-fit:cover; object-position:center; opacity:.42; mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent); }
.hp > .hp-sec--experts::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgb(9 15 21 / 35%),rgb(9 15 21 / 70%)); }
.hp-sec--experts > .ex-shortcode { position:relative; z-index:1; }
@media (max-width:700px) {
 .hp-experts__backdrop img { object-position:center top; opacity:.38; }
 .hp > .hp-sec--experts::before { background:linear-gradient(to bottom,rgb(9 15 21 / 25%),rgb(9 15 21 / 65%)); }
}

/* Tools use the same image-backed section frame as AI experts. */
.hp > .hp-sec--tools { isolation:isolate; overflow:hidden; }
.hp-tools__backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hp-tools__backdrop img { display:block; inline-size:100%; block-size:100%; object-fit:cover; object-position:center; opacity:.42; mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent); }
.hp > .hp-sec--tools::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgb(9 15 21 / 35%),rgb(9 15 21 / 70%)); }
.hp-sec--tools > .hp-tools__content { position:relative; z-index:1; }
@media (max-width:700px) {
 .hp-tools__backdrop img { object-position:center top; opacity:.38; }
 .hp > .hp-sec--tools::before { background:linear-gradient(to bottom,rgb(9 15 21 / 25%),rgb(9 15 21 / 65%)); }
}

/* More articles share the expert/tools backdrop and heading frame. */
.hp > .hp-sec--more { isolation:isolate; overflow:hidden; }
.hp-more__backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hp-more__backdrop img { display:block; inline-size:100%; block-size:100%; object-fit:cover; object-position:center; opacity:.42; mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent); }
.hp > .hp-sec--more::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgb(9 15 21 / 35%),rgb(9 15 21 / 70%)); }
.hp-sec--more > .hp-more__content { position:relative; z-index:1; }
@media (max-width:700px) {
 .hp-more__backdrop img { object-position:center top; opacity:.38; }
 .hp > .hp-sec--more::before { background:linear-gradient(to bottom,rgb(9 15 21 / 25%),rgb(9 15 21 / 65%)); }
}

.hp-experts__more { display:flex; justify-content:center; margin-block-start:24px; }
.hp-experts__all { display:inline-grid; grid-template-columns:auto 1px 16px; align-items:center; column-gap:10px; min-block-size:36px; padding:7px 15px; border:1px solid rgb(255 255 255 / 22%); border-radius:999px; background:rgb(12 16 24 / 65%); color:#fff; font-size:.8rem; font-weight:500; line-height:1.3; text-decoration:none; transition:background-color .2s,border-color .2s; }
.hp-experts__all::before { content:""; grid-column:2; grid-row:1; inline-size:1px; block-size:13px; background:rgb(255 255 255 / 30%); }
.hp-experts__all span { grid-column:1; grid-row:1; }
.hp-experts__all .icon { grid-column:3; grid-row:1; inline-size:16px; block-size:16px; stroke-width:1.5; }
.hp-experts__all:hover { color:#fff; text-decoration:none; background:var(--c-crimson,#c9233e); border-color:var(--c-crimson,#c9233e); }
.hp-experts__all:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .hp-experts__all { transition:none; } }

:is(.hp-experts__head,.hp-tools__head) { display:grid; grid-template-columns:minmax(0,max-content) auto; align-items:center; justify-content:start; gap:8px 16px; }
:is(.hp-experts__head,.hp-tools__head) > p { grid-column:1 / -1; }
:is(.hp-experts__head,.hp-tools__head) .hp-experts__all { justify-self:start; }
.hp-experts__all .icon.icon--flip { transform:none; }

/* Keep product-card spacing consistent with its media inset on the homepage. */
.hp .hp-sec--tools .samurai-card--tool .sc-card__body { padding:var(--tool-inset); }
.hp .hp-sec--tools .samurai-card--tool .sc-card__title { margin-block:0 10px; line-height:1.35; }
.hp .hp-sec--tools .samurai-card--tool .sc-card__excerpt { margin-block:0 14px; line-height:1.65; }

/* Match the expert directory grid without covering cards or section artwork. */
.home .hp > :is(.hp-sec--experts,.hp-sec--tools,.hp-sec--more,.hp-sec--categories,.hp-sec--page),
.home .hp .hp-latest-cinema { position:relative; isolation:isolate; }
.home .hp > :is(.hp-sec--experts,.hp-sec--tools,.hp-sec--more,.hp-sec--categories,.hp-sec--page)::after,
.home .hp .hp-latest-cinema::before {
 content:""; position:absolute; z-index:0; inset:0; pointer-events:none;
 background-image:linear-gradient(rgb(172 194 216 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(172 194 216 / 5%) 1px,transparent 1px);
 background-size:64px 64px; background-position:center top;
}
.home .hp > :is(.hp-sec--experts,.hp-sec--tools,.hp-sec--more,.hp-sec--categories,.hp-sec--page) > :is(.container,.ex-shortcode),
.home .hp .hp-latest-cinema > .container { position:relative; z-index:1; }

/* Compact category collections retain every story and the shared heading style. */
@media(max-width:700px) {
 .hp > .hp-sec--categories { padding-block:min(var(--hp-section-gap),28px); }
 .hp .hp-categories__head { padding-block:0; margin-block-end:min(var(--hp-heading-gap),18px); }
 .hp .hp-sec--categories .hp-cats { gap:min(var(--hp-grid-gap),12px); align-items:start; }
}
@media(max-width:540px) {
 .hp-sec--categories .hp-cats { grid-template-columns:minmax(0,1fr); }
 .hp-sec--categories .hp-cat { padding:12px 14px; }
 .hp-sec--categories .hp-cat__lead a { grid-template-columns:clamp(72px,22vw,104px) minmax(0,1fr); align-items:center; gap:12px; }
 .hp-sec--categories .hp-cat__lead img { inline-size:100%; aspect-ratio:4 / 3; margin:0; border-radius:8px; }
 .hp-sec--categories .hp-cat__lead strong { min-inline-size:0; font-size:15px; line-height:1.45; }
}
@media(max-width:700px) {
 :is(.hp-experts__head,.hp-tools__head) { column-gap:10px; }
 :is(.hp-experts__head,.hp-tools__head) .hp-experts__all { padding:6px 10px; font-size:.7rem; column-gap:7px; min-block-size:32px; }
}

/* Home spacing settings remain authoritative after visual refinements. */
.hp .hp-latest-cinema__head { margin-block-end:var(--hp-heading-gap); }
.hp .hp-latest-cinema__grid,.hp .ex-grid,.hp .hp-grid,.hp .hp-cats { gap:var(--hp-grid-gap); }
.hp > .hp-sec.is-alt { background-color:#141d29; }
.hp .hp-latest-cinema__head > .hp-experts__all { margin-block-start:4px; }
.hp-experts__all .icon.icon--flip { transform:none; }
