/* FightClear's product identity is scoped; Kotuvium keeps its studio palette.
   Named brand fonts use system fallbacks until approved local webfonts exist. */
.fc-mark-tile { display: inline-grid; place-items: center; flex: 0 0 auto; width: 3.5rem; padding: .25rem; background: #FFFFFF; border: 1px solid #d5d2c9; border-radius: .65rem; }
.fc-mark-tile .fc-small-mark { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; aspect-ratio: 1; }
.fc-portfolio .product-title { gap: .9rem; flex-wrap: wrap; }
.fc-portfolio .product-tagline { font-family: 'Newsreader', Georgia, serif; font-size: clamp(2rem, 3vw, 3.6rem); line-height: 1.12; letter-spacing: -.025em; }
.fc-portfolio .fc-category { margin: 1rem 0; max-width: 44ch; color: #F6F4EF; font-size: 1rem; line-height: 1.65; }
.fc-portfolio .product-tags { flex-wrap: wrap; }
.fc-portfolio .fc-attribution { margin-top: 1.25rem; color: #F6F4EF; font-size: .875rem; }
.fc-portfolio .product-description { max-width: 52ch; }
.fc-portfolio .capture-caption { flex-wrap: wrap; }

.fightclear-page { background: #F6F4EF; color: #1B1B18; font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.fightclear-page .site-header { background: #1D211F; color: #F6F4EF; }
.fightclear-page .site-footer { background: #1D211F; color: #F6F4EF; width: 100%; max-width: none; margin: 0; padding: 3rem max(1.5rem, 5vw) 1.5rem; }
.fightclear-page main { color: #1B1B18; }
.fightclear-page main *, .fc-portfolio * { min-width: 0; }
.fightclear-page .fc-wrap { width: min(1280px, calc(100% - 3rem)); margin-inline: auto; }
.fightclear-page .fc-section { padding-block: clamp(3rem, 6vw, 5.5rem); border-top: 1px solid #d5d2c9; scroll-margin-top: 8rem; }
.fightclear-page .fc-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(3rem, 6vw, 6rem); }
.fightclear-page .fc-brand { display: flex; align-items: center; gap: .8rem; margin-bottom: .65rem; }
.fightclear-page .fc-brand p { margin: 0; font-size: 1.8rem; font-weight: 750; letter-spacing: -.04em; }
.fightclear-page .fc-brand p span { display: block; font-size: .8rem; line-height: 1.5; font-weight: 500; letter-spacing: .02em; color: #4F5A53; }
.fightclear-page .fc-brandline { font-family: 'Newsreader', Georgia, serif; font-size: 1.25rem; margin: .5rem 0 2rem; color: #2B3632; }
.fightclear-page .fc-kicker { margin: 0 0 1rem; color: #2B3632; font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .75rem; font-weight: 600; line-height: 1.7; letter-spacing: .07em; text-transform: uppercase; }
.fightclear-page h1, .fightclear-page h2, .fightclear-page h3 { color: #1B1B18; font-family: 'Newsreader', Georgia, serif; font-weight: 500; text-wrap: pretty; }
.fightclear-page h1 { max-width: 21ch; margin: 0 0 1.5rem; font-size: clamp(2.45rem, 4.4vw, 4.35rem); letter-spacing: -.035em; line-height: 1.07; }
.fightclear-page h2 { max-width: 29ch; margin: 0 0 1.4rem; font-size: clamp(2rem, 3.1vw, 3.1rem); letter-spacing: -.025em; line-height: 1.13; }
.fightclear-page h3 { margin: 0 0 1rem; font-size: clamp(1.45rem, 2vw, 1.8rem); letter-spacing: -.02em; line-height: 1.2; }
.fightclear-page .fc-wrap p { line-height: 1.75; }
.fightclear-page .fc-lead { max-width: 64ch; margin: 0 0 1.4rem; font-size: 1.08rem; color: #303A34; }
.fightclear-page .fc-note { margin-top: 1rem; max-width: 75ch; font-size: .9rem; color: #4F5A53; }
.fightclear-page .fc-capabilities { display: flex; flex-wrap: wrap; gap: .55rem .85rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.fightclear-page .fc-capabilities li { color: #2B3632; border-bottom: 2px solid #B58A4A; padding: .15rem 0 .35rem; font-size: .8rem; font-weight: 600; line-height: 1.6; }
.fightclear-page .fc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.4rem; margin: 1.5rem 0 .75rem; }
.fightclear-page .fc-button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 48px; max-width: 100%; padding: .85rem 1.3rem; border: 2px solid #2B3632; border-radius: .45rem; background: #2B3632; color: #FFFFFF; font-size: .95rem; font-weight: 650; line-height: 1.5; text-align: center; text-decoration: none; }
.fightclear-page .fc-button:hover { background: #1D211F; border-color: #1D211F; }
.fightclear-page .fc-text-link, .fightclear-page .fc-inline-link { color: #2B3632; text-decoration: underline; text-underline-offset: .2em; }
.fightclear-page .fc-text-link { display: inline-block; padding-block: .5rem; min-height: 44px; max-width: 100%; line-height: 1.6; }
.fightclear-page .fc-inline-link { font-weight: 650; }
.fightclear-page main a:focus-visible, .fightclear-page main summary:focus-visible { outline: 3px solid #75521E; outline-offset: 5px; }
.fightclear-page .fc-account-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.fightclear-page .fc-sample { margin: 0; background: #FFFFFF; border: 1px solid #c8c3b7; border-radius: .8rem; box-shadow: 0 14px 45px #1D211F0a; overflow: visible; }
.fightclear-page .fc-sample-heading { padding: 2rem 1.75rem 1.25rem; border-top: 4px solid #B58A4A; border-radius: .8rem .8rem 0 0; }
.fightclear-page .fc-sample h2 { font-size: clamp(1.8rem, 2.5vw, 2.5rem); margin-bottom: 0; }
.fightclear-page .fc-money-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: #1B1B18; }
.fightclear-page .fc-money-table th { width: 61%; padding: 1.4rem 1.5rem; font-size: .92rem; font-weight: 550; text-align: left; line-height: 1.6; }
.fightclear-page .fc-money-table td { padding: 1.4rem 1.5rem 1.4rem .25rem; font-variant-numeric: tabular-nums; font-size: clamp(1.25rem, 2.2vw, 1.9rem); font-weight: 650; text-align: right; white-space: nowrap; }
.fightclear-page .fc-money-table tr { border-top: 1px solid #dedbd3; }
.fightclear-page .fc-money-table th span { display: block; font-size: .72rem; color: #4F5A53; }
.fightclear-page .fc-outstanding { background: #F2EFE6; }
.fightclear-page .fc-sample figcaption { padding: 1.3rem 1.5rem; border-top: 1px solid #dedbd3; color: #4F5A53; font-size: .8rem; line-height: 1.7; }
.fightclear-page .fc-lead-section { max-width: 1280px; }
.fightclear-page .fc-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.fightclear-page .fc-feature { padding: 1.75rem; background: #FFFFFF; border: 1px solid #d5d2c9; border-radius: .65rem; }
.fightclear-page .fc-feature p { margin-bottom: 1rem; }
.fightclear-page .fc-feature .fc-note { padding-top: 1rem; border-top: 1px solid #dedbd3; margin-bottom: 0; }
.fightclear-page .fc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin: 2rem 0 0; padding: 0; list-style: none; counter-reset: step; }
.fightclear-page .fc-steps li { counter-increment: step; }
.fightclear-page .fc-steps li::before { content: '0' counter(step); display: block; margin-bottom: 1rem; color: #2B3632; font-family: 'Geist Mono', ui-monospace, monospace; font-size: .9rem; border-bottom: 2px solid #B58A4A; padding-bottom: .65rem; }
.fightclear-page .fc-audience { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.fightclear-page .fc-audience p { margin-bottom: 1rem; }
.fightclear-page .fc-preview-note { max-width: 75ch; margin-bottom: 2rem; color: #4F5A53; }
.fightclear-page .product-capture { width: 100%; margin: 0; }
.fightclear-page .product-screenshot { background: #FFFFFF; border: 1px solid #c8c3b7; }
.fightclear-page .product-screenshot img { object-fit: contain; }
.fightclear-page .capture-caption { color: #4F5A53; flex-wrap: wrap; line-height: 1.7; }
.fightclear-page .capture-caption span, .fightclear-page .image-description p, .fightclear-page .image-description summary { color: #4F5A53; }
.fightclear-page .image-description summary { min-height: 44px; padding-block: .5rem; }
.fightclear-page .fc-faq { max-width: 1000px; border-top: 1px solid #c8c3b7; }
.fightclear-page .fc-faq details { border-bottom: 1px solid #c8c3b7; padding: .5rem 0; }
.fightclear-page .fc-faq summary { padding: 1rem .25rem; font-weight: 650; font-size: 1rem; line-height: 1.6; cursor: pointer; }
.fightclear-page .fc-faq details p { padding: 0 1.3rem 1.3rem; max-width: 80ch; margin: 0; color: #303A34; }
.fightclear-page .fc-boundary p, .fightclear-page .fc-beta > p { max-width: 78ch; }
.fightclear-page .fc-beta h2 { max-width: 100%; }
.fightclear-page .product-ownership { text-align: left; color: #F6F4EF; }
.fightclear-page .product-ownership h2 { margin-left: 0; color: #FFFFFF; }
.fightclear-page .product-ownership p { max-width: 75ch; margin-left: 0; color: #D7DDD9; }
.fightclear-page .product-ownership .fc-kicker { color: #D7DDD9; }
.fightclear-page .product-ownership .fc-text-link { color: #F0B149; font-weight: 650; }
.fightclear-page .product-ownership .fc-text-link:hover { color: #FFD48B; }

@media (max-width: 1000px) {
  .fightclear-page .fc-hero { grid-template-columns: 1fr; }
  .fightclear-page h1 { max-width: 25ch; }
  .fightclear-page .fc-sample { width: 100%; max-width: 600px; }
  .fightclear-page .fc-feature-grid { grid-template-columns: 1fr; }
  .fightclear-page .fc-feature { padding: 1.5rem; }
  .fightclear-page .fc-steps { gap: 1.5rem; }
}
@media (max-width: 650px) {
  .fightclear-page .fc-wrap { width: calc(100% - 2.5rem); }
  .fightclear-page .fc-steps, .fightclear-page .fc-audience { grid-template-columns: 1fr; gap: 2rem; }
  .fightclear-page .fc-sample-heading { padding: 1.5rem 1.1rem 1rem; }
  .fightclear-page .fc-money-table th { padding: 1.15rem 1rem; font-size: .85rem; }
  .fightclear-page .fc-money-table td { padding-right: 1rem; }
  .fightclear-page .fc-sample figcaption { padding: 1.1rem; }
  .fightclear-page .fc-button { width: 100%; }
  .fightclear-page .fc-actions { align-items: stretch; }
  .fightclear-page .fc-account-links { display: block; }
  .fightclear-page .fc-account-links a { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .fightclear-page *, .fc-portfolio * { scroll-behavior: auto; }
}
@media (forced-colors: active) {
  .fightclear-page .fc-button { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
  .fightclear-page .fc-sample, .fightclear-page .fc-feature, .fc-mark-tile { border: 1px solid CanvasText; }
  .fightclear-page main a:focus-visible, .fightclear-page main summary:focus-visible { outline-color: Highlight; }
  .fightclear-page .product-ownership, .fightclear-page .product-ownership h2, .fightclear-page .product-ownership p, .fightclear-page .product-ownership .fc-kicker, .fightclear-page .product-ownership .fc-text-link { color: CanvasText; }
}
