/* V94 (Sprint 10): the press kit FETCH_PRESS_KIT — /press/ (BL/BX),
   /press/profile/ and the four fact sheets (BL). Values reproduce the
   drafts' inline styles (design-handoffs/10-sprint10-2026-10-12). Every
   uppercase string is literal in the source (no text-transform). base.css
   styles every h1 as the centred lowercase brand row — each page title
   below resets it (the parse-syntax / vulnerability-scan precedent). */

/* ---------------------------------------------------------------- shared */
.press-main { text-align: left; padding: 48px 0 40px; }
.press-main--profile,
.press-main--kit { padding-top: 60px; }
.press-crumb { margin: 0 0 18px; font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; }
.press-crumb a { color: #2F7A86; text-decoration: none; }
.press-crumb a:hover, .press-crumb a:focus-visible { color: #254a4b; }
.press-crumb-sep { color: #666666; font-weight: 400; }
.press-crumb-here { color: #a26538; }
.press-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.press-btn {
    display: inline-block; font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em;
    color: #2F7A86; border: 1px solid #2F7A86; border-radius: 3px; padding: 6px 10px; text-decoration: none;
    white-space: nowrap; line-height: 1.6;
}
.press-btn:hover, .press-btn:focus-visible { background: rgba(53, 134, 145, 0.08); color: #2F7A86; }

/* ------------------------------------------------------------ /press/ */
.press-kit { max-width: 860px; margin: 0 auto; line-height: 1.7; color: #1a1a1a; font-size: 1.05rem; }
.press-title {
    display: block; font-family: var(--font-code); color: #a26538; font-weight: 700;
    font-size: clamp(1.3rem, 3.5vw, 1.7rem); line-height: 1.3; margin: 0 0 20px;
    text-align: left; text-transform: none; letter-spacing: normal; text-wrap: balance;
}
.press-title-sub { font-weight: 400; color: #2F7A86; }
.press-intro p { font-size: 1.15rem; margin: 0 0 16px; color: #254a4b; text-wrap: pretty; }
.press-contact { margin: 0; font-family: var(--font-code); font-size: 0.85rem; font-weight: 700; color: #254a4b; }
.press-kit .press-contact a { color: #2F7A86; }
.press-jump {
    margin: 28px 0 0; padding: 10px 0; border-top: 1px dashed rgba(53, 134, 145, 0.3);
    border-bottom: 1px dashed rgba(53, 134, 145, 0.3); display: flex; flex-wrap: wrap; gap: 6px 18px;
    font-family: var(--font-code); font-size: 0.8rem; font-weight: 700;
}
.press-jump a { color: #2F7A86; text-decoration: none; }
.press-jump a:hover, .press-jump a:focus-visible { color: #254a4b; }
.press-h2 {
    font-family: var(--font-code); font-size: 1.25rem; font-weight: 700; color: #a26538; letter-spacing: 0.03em;
    margin: 60px 0 0; padding-top: 16px; border-top: 2px solid rgba(53, 134, 145, 0.35); text-align: left;
}
.press-h3 {
    font-family: var(--font-code); font-size: 0.95rem; color: #254a4b; letter-spacing: 0.03em;
    border-bottom: 1px solid rgba(53, 134, 145, 0.2); padding-bottom: 6px; margin: 32px 0 14px; text-align: left;
}
.press-h3--form { font-size: 1.05rem; padding-bottom: 8px; margin: 44px 0 16px; }
.press-spacer { height: 16px; }
.press-panel { background: #fdfdfc; border: 1px solid rgba(53, 134, 145, 0.2); border-radius: 6px; }

/* outline buttons that are <button>s (COPY, the quote toggle) */
.press-copy {
    font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; color: #2F7A86; background: #ffffff;
    border: 1px solid #2F7A86; border-radius: 3px; padding: 5px 10px; cursor: pointer; line-height: 1.6;
}
.press-copy--quote { font-size: 0.7rem; padding: 3px 8px; }
.press-toggle {
    margin: 16px 0 0; font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em;
    color: #2F7A86; background: #ffffff; border: 1px solid #2F7A86; border-radius: 3px; padding: 6px 10px; cursor: pointer;
}
.press-toggle:hover, .press-toggle:focus-visible { background: rgba(53, 134, 145, 0.08); }

/* text link rows (> READ_FULL_PROFILE …, > READ_SAMPLE …) */
.press-links {
    margin: 12px 0 0; font-family: var(--font-code); font-size: 0.8rem; font-weight: 700;
    display: flex; flex-wrap: wrap; gap: 8px 20px;
}
.press-kit .press-links a { color: #2F7A86; text-decoration: none; }
.press-kit .press-links a:hover, .press-kit .press-links a:focus-visible { color: #254a4b; }

/* ABOUT */
.press-cards { display: grid; gap: 14px; }
.press-card { padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.press-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.press-card-label { font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; color: #a26538; }
.press-card-text { display: flex; flex-direction: column; gap: 10px; }
.press-card-text p { margin: 0; font-size: 1rem; line-height: 1.65; text-wrap: pretty; }

/* PRODUCTS */
.press-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 14px; }
.press-product { display: flex; flex-direction: column; gap: 10px; padding: 14px; }
.press-product img {
    width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; background: #ffffff;
}
.press-product-title { font-family: var(--font-code); font-size: 0.85rem; font-weight: 700; color: #254a4b; }
.press-product-desc { font-size: 0.9rem; line-height: 1.5; color: #475569; }
.press-product-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }

/* FOUNDER */
.press-founder { padding: 18px; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 18px 22px; align-items: start; }
.press-founder-photo { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.press-founder-photo img {
    width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 50%; border-radius: 4px; display: block;
}
.press-founder-photo figcaption { font-family: var(--font-code); font-size: 0.7rem; color: #666666; }
.press-founder-text { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.press-founder-name { font-family: var(--font-code); font-size: 0.95rem; font-weight: 700; color: #254a4b; }
.press-founder-role { font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; color: #a26538; }
.press-founder-bio { display: flex; flex-direction: column; gap: 10px; }
.press-founder-bio p { margin: 0; font-size: 1rem; line-height: 1.65; text-wrap: pretty; }
.press-founder-btns { display: flex; flex-wrap: wrap; gap: 8px; }

/* INTERVIEW TOPICS */
.press-lead { margin: 0 0 16px; text-wrap: pretty; }
.press-topics {
    list-style: none; margin: 0; padding: 0; display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px;
}
.press-topics li { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.press-topics strong { font-family: var(--font-code); font-size: 0.85rem; line-height: 1.45; color: #254a4b; }
.press-topics span { font-size: 0.95rem; line-height: 1.6; text-wrap: pretty; }
.press-after { margin: 12px 0 0; font-size: 0.95rem; color: #475569; }

/* APPROVED QUOTES */
.press-quotes-intro { margin: 0 0 16px; text-wrap: pretty; }
.press-quotes { display: flex; flex-direction: column; gap: 14px; }
.press-quote {
    margin: 0; padding: 4px 0 4px 16px; border-left: 3px solid #a26538; display: flex; flex-direction: column; gap: 6px;
}
.press-quote blockquote { margin: 0; font-size: 1.05rem; line-height: 1.6; color: #254a4b; text-wrap: pretty; }
.press-quote figcaption {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-family: var(--font-code);
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; color: #666666;
}

/* LOGOS */
.press-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.press-logo { overflow: hidden; }
.press-logo-preview {
    height: 150px; background: #ffffff; display: flex; align-items: center; padding: 20px;
    border-bottom: 1px solid rgba(53, 134, 145, 0.2);
}
.press-logo-preview img { width: auto; height: auto; max-width: 100%; max-height: 110px; display: block; }
.press-logo-format { font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; color: #475569; }
.press-logo-row { padding: 12px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.press-logo-label { font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; color: #254a4b; margin-right: auto; }

/* IMAGES / DOCUMENTS */
.press-rows { padding: 0 18px; }
.press-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 12px 0; }
.press-row + .press-row { border-top: 1px dashed rgba(53, 134, 145, 0.3); }
.press-row-name { font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; color: #254a4b; }
.press-row-desc { font-size: 0.9rem; color: #475569; margin-right: auto; }
.press-row-btns { display: flex; flex-wrap: wrap; gap: 8px; }

/* COVERAGE */
.press-entries { padding: 4px 18px; }
.press-entry {
    display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 4px 16px; padding: 14px 0; text-decoration: none;
}
.press-entry + .press-entry { border-top: 1px dashed rgba(53, 134, 145, 0.3); }
.press-entry:hover, .press-entry:focus-visible { background: rgba(53, 134, 145, 0.05); }
.press-entry time { font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; color: #666666; }
.press-entry-title { font-family: var(--font-code); font-size: 0.9rem; font-weight: 700; color: #254a4b; }
.press-cov-outlet { font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; color: #a26538; }
.press-cov-title { font-size: 0.95rem; color: #1a1a1a; }
.press-cov-date { color: #666666; }
.press-cov-arrow { color: #2F7A86; }
.press-more { margin: 10px 0 0; font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; }
.press-kit .press-more a { color: #2F7A86; text-decoration: none; }

/* MEDIA REQUEST */
.press-msgs { margin: 0 0 16px; }
.press-msg { margin: 0 0 8px; color: #a26538; font-family: var(--font-code); font-size: 0.85rem; font-weight: 700; }
.press-msg a { color: #2F7A86; }
.press-form {
    padding: 20px 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 20px;
}
.press-field label {
    display: block; font-family: var(--font-code); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em;
    color: #254a4b; margin: 0 0 6px;
}
.press-field input, .press-field select, .press-field textarea {
    width: 100%; box-sizing: border-box; font-family: var(--font-header); font-size: 1rem; color: #1a1a1a; background: #ffffff;
    border: 1px solid rgba(53, 134, 145, 0.35); border-radius: 4px; padding: 10px 12px; margin: 0;
}
.press-field textarea { resize: vertical; line-height: 1.55; }
.press-field--wide, .press-consent, .press-submit { grid-column: 1 / -1; }
.press-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9rem; line-height: 1.55; color: #1a1a1a; }
.press-consent input { margin-top: 4px; accent-color: #2F7A86; }
.press-kit .press-consent a { color: #2F7A86; }
.press-submit button {
    font-family: var(--font-code); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.05em; color: #ffffff;
    background: #254a4b; border: none; border-radius: 4px; padding: 12px 20px; cursor: pointer;
}
.press-submit button:hover, .press-submit button:focus-visible { background: #2F7A86; }
.press-sent { border-left: 4px solid #2F7A86; padding: 18px 22px; }
.press-sent p { margin: 0; font-size: 1rem; }
.press-sent .press-sent-head { font-family: var(--font-code); font-size: 0.9rem; font-weight: 700; color: #254a4b; }
.press-sent .press-sent-head + p { margin-top: 6px; }

@media (max-width: 640px) {
    .press-form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .press-founder { grid-template-columns: minmax(0, 1fr); }
    .press-entry { grid-template-columns: minmax(0, 1fr); }
}

/* -------------------------------------------------------- fact sheets */
.fs { max-width: 860px; margin: 0 auto; line-height: 1.7; color: #1a1a1a; font-size: 1.05rem; }
.fs-sheet { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 30px; row-gap: 0; align-items: start; }
.fs-img {
    width: 100%; height: auto; object-fit: cover; border-radius: 6px; border: 1px solid rgba(53, 134, 145, 0.2);
    display: block; background: #ffffff;
}
.fs-head-text { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fs-name {
    display: block; font-family: var(--font-code); color: #254a4b; font-weight: 700; font-size: clamp(1.4rem, 3.6vw, 1.9rem);
    line-height: 1.2; margin: 0; text-align: left; text-transform: none; letter-spacing: normal; text-wrap: balance;
}
.fs-sub { margin: 0; font-family: var(--font-code); font-size: 0.95rem; font-weight: 700; color: #a26538; }
.fs-lead { margin: 0; font-size: 1.1rem; line-height: 1.6; color: #254a4b; text-wrap: pretty; }
.fs-facts {
    margin: 6px 0 0; background: #fdfdfc; border: 1px solid rgba(53, 134, 145, 0.2); border-radius: 6px; padding: 2px 14px;
}
.fs-fact {
    display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 4px 14px; padding: 8px 0;
    border-top: 1px dashed rgba(53, 134, 145, 0.3);
}
.fs-fact:first-child { border-top: none; }
.fs-fact dt { font-family: var(--font-code); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; color: #a26538; }
.fs-fact dd { margin: 0; font-size: 0.95rem; overflow-wrap: anywhere; }
.fs-fact dd a { color: #2F7A86; }
.fs-fact dd a:hover { color: #254a4b; }
.fs-body { grid-column: 1 / -1; min-width: 0; }
.fs-body > :last-child,
.fs-body > .fs-section:last-child > :last-child { margin-bottom: 0; }
.fs-section h2 {
    font-family: var(--font-code); font-size: 1.05rem; color: #254a4b; letter-spacing: 0.03em;
    border-bottom: 1px solid rgba(53, 134, 145, 0.2); padding-bottom: 8px; margin: 32px 0 14px; text-align: left;
}
.fs-section p { margin: 0 0 14px; text-wrap: pretty; }
/* V98 (DL): a section without a heading (the book sheet's intro) keeps the draft's 8 px under the facts box */
.fs-section > p:first-child { margin-top: 8px; }
.fs-items { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 12px; }
.fs-items li { display: flex; flex-direction: column; gap: 2px; }
.fs-items strong { font-family: var(--font-code); font-size: 0.85rem; color: #254a4b; }
.fs-closer { margin: 6px 0 0; font-family: var(--font-code); font-size: 0.95rem; font-weight: 700; color: #254a4b; }
.fs-foot {
    margin: 32px 0 0; padding-top: 16px; border-top: 1px dashed rgba(53, 134, 145, 0.3); display: flex; flex-wrap: wrap;
    justify-content: space-between; align-items: center; gap: 12px 20px;
    font-family: var(--font-code); font-size: 0.8rem; font-weight: 700;
}
.fs-contact { color: #254a4b; overflow-wrap: anywhere; }
.fs-contact a { color: #2F7A86; }
.fs-foot-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fs-foot-actions .press-btn { letter-spacing: normal; }
.fs-foot-actions .press-btn:hover { background: none; }
@media (max-width: 680px) {
    .fs-sheet { grid-template-columns: minmax(0, 1fr); }
    .fs-img { margin-bottom: 22px; }
}

/* ------------------------------------------------------------ profile */
.pp { max-width: 800px; margin: 0 auto; line-height: 1.7; color: #1a1a1a; font-size: 1.05rem; }
.pp .press-crumb { margin-bottom: 14px; }
.pp .press-actions { margin-bottom: 28px; }
.pp-title {
    display: block; font-family: var(--font-code); color: #254a4b; font-weight: 700; font-size: clamp(1.3rem, 3.5vw, 1.7rem);
    line-height: 1.3; margin: 0 0 6px; text-align: left; text-transform: none; letter-spacing: normal; text-wrap: balance;
}
.pp-sub { margin: 0 0 24px; font-family: var(--font-code); font-size: 0.95rem; font-weight: 700; color: #a26538; }
.pp-body p { margin: 0 0 16px; text-wrap: pretty; }
.pp-body h2 {
    font-family: var(--font-code); font-size: 1.05rem; color: #254a4b; letter-spacing: 0.03em;
    border-bottom: 1px solid rgba(53, 134, 145, 0.2); padding-bottom: 8px; margin: 40px 0 16px; text-align: left;
}
.pp-products { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 14px; }
.pp-products li { display: flex; flex-direction: column; gap: 4px; }
.pp-products strong { font-family: var(--font-code); font-size: 0.85rem; color: #254a4b; }
.pp-facts { margin: 0 0 16px; background: #fdfdfc; border: 1px solid rgba(53, 134, 145, 0.2); border-radius: 6px; padding: 0 18px 4px; }
.pp-facts > div {
    display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 4px 18px; padding: 12px 0;
    border-top: 1px dashed rgba(53, 134, 145, 0.3);
}
.pp-facts > div:first-child { border-top: none; }
.pp-facts dt { font-family: var(--font-code); font-size: 0.8rem; font-weight: 700; color: #a26538; }
.pp-facts dd { margin: 0; overflow-wrap: anywhere; }
.pp-facts dd a:hover { color: #254a4b; }
.pp-body p.pp-contact { margin-bottom: 6px; }
.pp-label { font-family: var(--font-code); font-size: 0.85rem; font-weight: 700; color: #254a4b; }
.pp-back {
    margin: 32px 0 0; padding-top: 16px; border-top: 1px dashed rgba(53, 134, 145, 0.3);
    font-family: var(--font-code); font-size: 0.8rem; font-weight: 700;
}
.pp-back a { color: #2F7A86; text-decoration: none; }
.pp-back a:hover, .pp-back a:focus-visible { color: #254a4b; }
@media (max-width: 600px) {
    .pp-facts > div { grid-template-columns: minmax(0, 1fr); }
}

/* House rule: every element with a CSS display keeps [hidden] working
   (press.js hides quotes 4-9 and shows the COPY buttons + the toggle). */
.press-title[hidden], .press-jump[hidden], .press-panel[hidden], .press-links[hidden], .press-cards[hidden],
.press-card[hidden], .press-card-head[hidden], .press-card-text[hidden], .press-products[hidden], .press-product[hidden],
.press-product img[hidden], .press-product-btns[hidden], .press-founder[hidden], .press-founder-photo[hidden],
.press-founder-photo img[hidden], .press-founder-text[hidden], .press-founder-bio[hidden], .press-founder-btns[hidden],
.press-topics[hidden], .press-topics li[hidden], .press-quotes[hidden], .press-quote[hidden], .press-quote figcaption[hidden],
.press-logos[hidden], .press-logo-preview[hidden], .press-logo-preview img[hidden], .press-logo-row[hidden],
.press-row[hidden], .press-row-btns[hidden], .press-entry[hidden], .press-form[hidden], .press-consent[hidden],
.press-btn[hidden], .press-copy[hidden], .press-toggle[hidden], .press-actions[hidden],
.fs-sheet[hidden], .fs-img[hidden], .fs-head-text[hidden], .fs-name[hidden], .fs-fact[hidden], .fs-items[hidden],
.fs-items li[hidden], .fs-foot[hidden], .fs-foot-actions[hidden], .pp-title[hidden], .pp-products[hidden],
.pp-products li[hidden], .pp-facts > div[hidden], .press-field label[hidden] { display: none; }
