/* Cerney Selects shares the original chriscerney.org homepage identity.
   Loaded only by the directory, application, and policy pages. */
body.cerneyselects-site {
    color-scheme: dark;
    --bg: #0b1118;
    --elev: #121922;
    --card: #16202b;
    --text: #e6e8eb;
    --dim: #9098a3;
    --blue: #9bbbd6;
    --accent: #6f95b8;
    --border: #202c3a;
    --border-strong: #2f4154;
    background: var(--bg);
    color: var(--text);
}
.cerneyselects-site .shell { width: min(1192px, calc(100% - 48px)); }
.cerneyselects-site .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(11, 17, 24, .92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
}
.cerneyselects-site .nav-inner { min-height: 76px; }
.cerneyselects-site .wordmark {
    display: inline-flex;
    gap: .25em;
    font: 700 1.65rem/1.2 var(--display);
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--text);
}
.cerneyselects-site .wordmark strong { color: var(--accent); }
.cerneyselects-site .nav-links { gap: 24px; }
.cerneyselects-site .nav-links a, .cerneyselects-site .policy-nav a {
    color: var(--dim);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cerneyselects-site .nav-links a:hover,
.cerneyselects-site .nav-links a[aria-current],
.cerneyselects-site .policy-nav a:hover { color: var(--text); }
.cerneyselects-site .nav-links .nav-tipline { color: var(--blue); border-color: var(--border-strong); }
.cerneyselects-site .nav-links .nav-tipline:hover { background: #426b91; border-color: #426b91; color: #fff; }
.cerneyselects-site .button {
    border-radius: 0;
    padding: 13px 26px;
    min-height: 46px;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.cerneyselects-site .button-primary { background: var(--accent); border-color: var(--accent); color: #0b1118; }
.cerneyselects-site .button-primary:hover:not(:disabled) { background: #83a8c8; border-color: #83a8c8; }
.cerneyselects-site .button-outline { background: transparent; border-color: var(--border-strong); color: var(--text); }
.cerneyselects-site .button-outline:hover:not(:disabled) { background: var(--elev); border-color: #426b91; color: var(--blue); }
.cerneyselects-site .site-footer { background: #0a0d12; border-color: var(--border); padding: 32px 0; }
.cerneyselects-site .footer-inner { gap: 16px 24px; }
.cerneyselects-site .policy-links a { color: var(--dim); font-size: .74rem; }
.cerneyselects-site .policy-links a:hover { color: var(--blue); }

/* Directory: the same stacked display type, blue rules, and quiet navy surfaces. */
.cerneyselects-site.directory-page .directory-main { padding-top: 64px; padding-bottom: 64px; }
.cerneyselects-site.directory-page .directory-heading {
    align-items: center;
    gap: 48px;
    padding-bottom: 48px;
    margin-bottom: 40px;
    border-color: var(--border);
    background: var(--bg);
}
.cerneyselects-site.directory-page .spotlight-hero-copy {
    flex: 1;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-areas: "kicker kicker" "title art" "intro intro";
    align-items: center;
    gap: 24px 12px;
}
.cerneyselects-site.directory-page .spotlight-hero-copy h1 { grid-area: title; }
.cerneyselects-site.directory-page .spotlight-hero-sticker {
    grid-area: art;
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
}
.cerneyselects-site.directory-page .spotlight-hero-kicker { grid-area: kicker; margin: 0; }
.cerneyselects-site.directory-page .directory-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: var(--accent);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.5;
    text-transform: uppercase;
}
.cerneyselects-site.directory-page .directory-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--accent); flex: none; }
.cerneyselects-site.directory-page .spotlight-hero-kicker .directory-eyebrow { margin: 0; }
.cerneyselects-site.directory-page .directory-heading h1 {
    display: block;
    color: var(--text);
    font: 700 clamp(4rem, 8vw, 6.5rem)/.95 var(--display);
    text-transform: uppercase;
    letter-spacing: -.01em;
}
.cerneyselects-site.directory-page .directory-heading h1 span { display: block; color: inherit; transform: none; }
.cerneyselects-site.directory-page .directory-heading h1 span:last-child { color: var(--accent); }
.cerneyselects-site.directory-page .spotlight-hero-copy h1::after { content: ''; position: static; display: block; width: 60px; height: 2px; background: #426b91; margin-top: 28px; border-radius: 0; transform: none; }
.cerneyselects-site.directory-page .directory-heading p:not(.directory-eyebrow) { color: var(--dim); font-size: 1rem; line-height: 1.65; margin-top: 24px; padding: 0; max-width: 62ch; }
.cerneyselects-site.directory-page .spotlight-hero-copy p.spotlight-hero-intro { grid-area: intro; margin: 0; }
.cerneyselects-site.directory-page .spotlight-owner-invitation { flex: 0 1 340px; padding: 26px; border: 1px solid var(--border-strong); border-left: 2px solid var(--accent); border-radius: 0; background: var(--elev); }
.cerneyselects-site.directory-page .spotlight-owner-invitation h2 { font: 700 1.85rem/1.1 var(--display); text-transform: uppercase; color: var(--text); margin: 0 0 14px; }
.cerneyselects-site.directory-page .spotlight-owner-invitation p { font-size: .87rem; color: var(--dim); margin: 0 0 20px; }
.cerneyselects-site.directory-page .directory-feature-link { color: var(--blue); font-size: .8rem; font-weight: 600; }
.cerneyselects-site.directory-page .spotlight-owner-invitation .directory-feature-link { min-height: 46px; padding: 11px 16px; border: 1px solid var(--border-strong); color: var(--blue); font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; }
.cerneyselects-site.directory-page .spotlight-owner-invitation .directory-feature-link:hover { border-color: var(--accent); color: var(--text); text-decoration: none; }
.cerneyselects-site.directory-page .browse-invitation { color: var(--text); font-size: .88rem; }
.cerneyselects-site.directory-page .browse-invitation span { color: var(--accent); }
.cerneyselects-site.directory-page .category-chip { min-height: 44px; border-radius: 0; border-color: var(--border-strong); background: transparent; color: var(--dim); box-shadow: none; transform: none; }
.cerneyselects-site.directory-page .category-chip > span { background: transparent; color: var(--accent); border-radius: 0; transform: none; }
.cerneyselects-site.directory-page .category-chip:hover { background: var(--elev); border-color: #426b91; color: var(--text); box-shadow: none; transform: none; }
.cerneyselects-site.directory-page .category-chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #0b1118; box-shadow: none; }
.cerneyselects-site.directory-page .category-chip[aria-pressed="true"] > span { color: #0b1118; background: transparent; }
.cerneyselects-site.directory-page .directory-tools input,
.cerneyselects-site.directory-page .directory-tools select { border-radius: 0; border-color: var(--border-strong); background: var(--elev); color: var(--text); }
.cerneyselects-site.directory-page input::placeholder { color: var(--dim); }
.cerneyselects-site.directory-page .directory-sort,
.cerneyselects-site.directory-page .results-count { color: var(--dim); }
.cerneyselects-site.directory-page .directory-card { --card-paper: #16202b; --card-ink: #e6e8eb; background: var(--card-paper); color: var(--card-ink); border: 1px solid var(--border-strong); border-radius: 0; box-shadow: none; }
.cerneyselects-site.directory-page .directory-card:hover { background: #1d2a37; border-color: var(--accent); box-shadow: 0 2px 12px rgba(0,0,0,.25); transform: none; }
.cerneyselects-site.directory-page .directory-card-top,
.cerneyselects-site.directory-page .directory-card[data-tone] .directory-card-top { background: #e3e9ed; }
.cerneyselects-site.directory-page .directory-card[data-tone] .directory-card-top.dark-logo-backdrop { background: #263c4c; }
.cerneyselects-site.directory-page .directory-mark { border-radius: 0; }
.cerneyselects-site.directory-page .directory-mark img { mix-blend-mode: normal; }
.cerneyselects-site.directory-page .directory-card h3 { font: 700 1.8rem/1.1 var(--display); letter-spacing: -.005em; }
.cerneyselects-site.directory-page .directory-card .directory-name,
.cerneyselects-site.directory-page .directory-text-row .directory-name { color: var(--text); }
.cerneyselects-site.directory-page .directory-card .directory-city,
.cerneyselects-site.directory-page .directory-text-meta { color: var(--dim); }
.cerneyselects-site.directory-page .directory-card .directory-description { color: #b4bdc8; }
.cerneyselects-site.directory-page .directory-card-category,
.cerneyselects-site.directory-page .directory-site-link,
.cerneyselects-site.directory-page .directory-phone,
.cerneyselects-site.directory-page .directory-text-arrow { color: var(--blue); }
.cerneyselects-site.directory-page .directory-card.is-weekly-feature { background: #16202b; border-color: #6f95b8; border-radius: 0; box-shadow: none; }
.cerneyselects-site.directory-page .directory-card.is-weekly-feature:hover { border-color: #9bbbd6; box-shadow: 0 2px 12px rgba(0,0,0,.25); }
.cerneyselects-site.directory-page .is-weekly-feature .directory-card-top { background: #e3e9ed; }
.cerneyselects-site.directory-page .is-weekly-feature .directory-card-top.dark-logo-backdrop { background: #263c4c; }
.cerneyselects-site.directory-page .weekly-badge { border-radius: 0; background: #22374a; color: #c6dceb; border-color: #426b91; font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cerneyselects-site.directory-page .weekly-note { color: var(--dim); }
.cerneyselects-site.directory-page .directory-empty { background: var(--elev); border: 1px solid var(--border-strong); border-radius: 0; }
.cerneyselects-site.directory-page .directory-empty-mark { color: var(--accent); background: transparent; border-radius: 0; }
.cerneyselects-site.directory-page .directory-empty h2 { font-weight: 700; text-transform: uppercase; }
.cerneyselects-site.directory-page .directory-empty #emptyApply { color: var(--blue); }
.cerneyselects-site.directory-page .directory-pagination { border-color: var(--border); }
.cerneyselects-site.directory-page .directory-pagination button { border-radius: 0; color: var(--blue); border-color: var(--border-strong); }
.cerneyselects-site.directory-page .directory-pagination button:hover:not(:disabled) { background: var(--elev); border-color: var(--accent); }
.cerneyselects-site.directory-page .directory-pagination p { color: var(--dim); }
.cerneyselects-site.directory-page .selects-about { margin-top: 64px; padding-top: 40px; border-color: var(--border); }
.cerneyselects-site.directory-page .selects-about h2 { font: 700 clamp(2.25rem, 5vw, 3.5rem)/1 var(--display); text-transform: uppercase; color: var(--text); }
.cerneyselects-site.directory-page .selects-about > p:not(.directory-eyebrow) { color: var(--dim); font-size: .95rem; }
.cerneyselects-site.directory-page .selects-about-links a { color: var(--blue); }

/* Application and policies carry the same typography and restrained rules. */
.cerneyselects-site .signup-main { padding-top: 48px; padding-bottom: 64px; }
.cerneyselects-site .signup-heading h1,
.cerneyselects-site .policy-main h1 { font: 700 clamp(2.8rem, 6vw, 4.5rem)/1 var(--display); letter-spacing: -.01em; text-transform: uppercase; }
.cerneyselects-site .signup-heading h1::after { content: ''; display: block; width: 42px; height: 2px; background: #426b91; margin: 22px 0; }
.cerneyselects-site .review-policy { border: 1px solid var(--border-strong); border-left: 3px solid var(--accent); border-radius: 0; background: var(--elev); }
.cerneyselects-site .review-policy h2 { font: 700 1.8rem/1.1 var(--display); text-transform: uppercase; }
.cerneyselects-site .payment-confirmation { border-radius: 0; border-color: var(--border-strong); background: var(--elev); }
.cerneyselects-site .payment-confirmation h1 { font-weight: 700; }
.cerneyselects-site .confirmation-billing-note { border-radius: 0; }
.cerneyselects-site .policy-main { max-width: 840px; padding-top: 48px; }
.cerneyselects-site .policy-main > header { border-color: var(--border-strong); }
.cerneyselects-site .policy-main h2 { font: 700 1.9rem/1.1 var(--display); text-transform: uppercase; }
.cerneyselects-site .policy-date { color: var(--accent); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

@media(max-width:1000px) {
    .cerneyselects-site .nav-links { gap: 16px; }
    .cerneyselects-site .nav-links a { font-size: .7rem; }
    .cerneyselects-site.directory-page .directory-heading { gap: 32px; }
}
@media(max-width:800px) {
    .cerneyselects-site.directory-page .directory-heading { align-items: stretch; }
    .cerneyselects-site.directory-page .spotlight-owner-invitation { flex-basis: auto; max-width: none; width: 100%; }
    .cerneyselects-site .nav-links { gap: 0; }
}
@media(max-width:600px) {
    .cerneyselects-site .shell { width: calc(100% - 36px); }
    .cerneyselects-site .nav-inner { min-height: 68px; }
    .cerneyselects-site.directory-page .directory-main { padding-top: 38px; padding-bottom: 40px; }
    .cerneyselects-site.directory-page .directory-heading { gap: 28px; padding-bottom: 30px; margin-bottom: 28px; }
    .cerneyselects-site.directory-page .directory-heading h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
    .cerneyselects-site.directory-page .spotlight-hero-copy { column-gap: 8px; }
    .cerneyselects-site.directory-page .spotlight-hero-sticker { max-width: 150px; }
    .cerneyselects-site.directory-page .directory-heading p:not(.directory-eyebrow) { font-size: .9rem; }
    .cerneyselects-site.directory-page .directory-eyebrow { font-size: .65rem; letter-spacing: .15em; }
    .cerneyselects-site.directory-page .spotlight-owner-invitation { padding: 20px; }
    .cerneyselects-site.directory-page .spotlight-owner-invitation h2 { font-size: 1.65rem; }
    .cerneyselects-site.directory-page .spotlight-owner-invitation p { font-size: .84rem; }
    .cerneyselects-site.directory-page .selects-about { margin-top: 40px; padding-top: 30px; }
    .cerneyselects-site .signup-main, .cerneyselects-site .policy-main { padding-top: 30px; padding-bottom: 40px; }
    .cerneyselects-site .field-row.category-row { grid-template-columns: minmax(0, 1fr); }
    .cerneyselects-site .button { font-size: .75rem; padding-inline: 18px; }
    .cerneyselects-site .policy-nav a { font-size: .7rem; }
    .cerneyselects-site .site-footer { padding: 26px 0; }
}
