/* Platform/product patterns share the established typography, cards, CTA and Details styles. */
.fti-product-main { padding-top: 32px; }
.fti-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0 0 48px; list-style:none; color:var(--fti-muted); font-size:.75rem; }
.fti-breadcrumbs li + li::before { content:'/'; margin-right:10px; color:var(--fti-muted); }
.fti-breadcrumbs [aria-current] { overflow-wrap:anywhere; }
.fti-product-page .page-intro { max-width:1000px; padding:0 0 32px; margin:0; position:relative; }
.fti-product-page .page-intro h1 { font-size:clamp(2.6rem,5.5vw,4.6rem); max-width:950px; }
.fti-product-page .intro-summary { max-width:790px; font-size:clamp(1.125rem,2vw,1.35rem); }
.fti-product-content > * { max-width:100%; }
.fti-product-section { padding-block:clamp(36px,5vw,64px); border-top:1px solid var(--fti-line); margin-block:0; scroll-margin-top:24px; }
.fti-product-section h2 { font-weight:550; letter-spacing:-.035em; line-height:1.18; }
.fti-product-section h3 { font-size:1.25rem; line-height:1.3; }
.fti-product-section p { color:var(--fti-muted); }
.fti-product-section .is-style-fti-eyebrow { color:var(--fti-accent); }
.fti-product-opening { margin-bottom:40px; }
.fti-product-opening .wp-block-buttons { margin-bottom:24px; }
.fti-product-reading { max-width:790px; margin-bottom:30px; }
.fti-product-reading > :first-child { margin-top:0; }
.fti-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fti-product-grid > *, .fti-product-split > *, .fti-product-path > *, .fti-product-index > * { margin-block:0; min-width:0; }
.fti-product-grid .is-style-fti-card { height:auto; padding:28px; }
.fti-product-grid p { font-size:.875rem; }
.fti-product-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:start; }
.fti-product-scenario { padding:32px; border:1px solid #c7dcd1; border-radius:18px; background:#eaf4ef; }
.fti-product-scenario .fti-product-path { display:grid; gap:22px; margin-block:26px; }
.fti-product-path p { position:relative; padding:16px 20px; border:1px solid #c7dcd1; border-radius:8px; margin:0; color:var(--fti-text); background:#fff; font-size:.875rem; }
.fti-product-path p + p::before { content:''; width:1px; height:22px; background:#78a38d; position:absolute; top:-23px; left:28px; }
.fti-product-scenario .fti-product-small { font-size:.75rem; }
.fti-product-proof { padding:30px; border:1px solid var(--fti-line); border-radius:14px; background:var(--fti-bg); }
.fti-product-proof > :first-child { margin-top:0; }
.fti-product-proof p { font-size:.875rem; }
.fti-product-related a { text-decoration-thickness:1px; }
.fti-product-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fti-product-index h3 { margin-top:14px; }
.fti-product-index .is-style-fti-card { height:auto; }
.fti-product-index p { font-size:.875rem; }
.fti-product-index a { color:var(--fti-text); }
.fti-product-faq .wp-block-details:first-child { padding-top:0; }
.fti-product-faq p { font-size:.875rem; }
.fti-product-final { padding-top:32px; }
@media(max-width:900px) { .fti-product-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .fti-product-split,.fti-product-index { grid-template-columns:1fr; } .fti-product-scenario { padding:24px; } }
@media(max-width:480px) {
  .fti-product-main { padding-top:24px; }
  .fti-breadcrumbs ol { margin-bottom:32px; }
  .fti-product-opening .wp-block-buttons { flex-direction:column; align-items:stretch; }
  .fti-product-opening .wp-block-button__link { width:100%; text-align:center; }
  .fti-product-proof { padding:24px; }
}
.fti-product-scenario h3 { font-size:1.5rem; line-height:1.25; margin:18px 0 8px; }
.fti-product-scenario > p { font-size:.9375rem; }
.fti-eval-steps { display:grid; gap:14px; margin-block:22px 18px; }
.fti-eval-step { display:grid; align-items:start; grid-template-columns:40px minmax(0,1fr); gap:16px; padding:20px; background:#fff; border:1px solid #c7dcd1; border-radius:12px; margin:0; }
.fti-eval-num { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--fti-accent); color:#fff!important; font-weight:700; margin:0; }
.fti-eval-body { min-width:0; margin:0!important; }
.fti-eval-body > * { margin-block:0; }
.fti-eval-body h4 { font-size:1.0625rem; line-height:40px; margin:0 0 4px!important; }
.fti-eval-body p { font-size:.875rem; line-height:1.55; }
.fti-eval-links { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px!important; }
.fti-eval-links a { font-size:.8125rem; font-weight:650; color:var(--fti-accent); text-decoration:none; }
.fti-eval-links a::after { content:" \2192"; }
.fti-eval-links a:hover { text-decoration:underline; }
.fti-check-list { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:14px; }
.fti-check-list li { position:relative; padding-left:30px; font-size:.9375rem; line-height:1.55; color:var(--fti-muted); }
.fti-check-list li::before { content:"\2713"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--fti-accent-soft); color:var(--fti-accent); font-size:.75rem; font-weight:700; display:grid; place-items:center; }
.fti-check-list strong { color:var(--fti-text); }
/* Evaluation card (light) */
.fti-product-scenario { position:relative; padding:clamp(28px,3.5vw,40px); border:1px solid #c7dcd1; border-radius:20px; background:#eaf4ef; }
.fti-product-scenario h3 { font-size:1.5rem; letter-spacing:-.02em; margin:18px 0 8px; }
.fti-product-scenario > p { font-size:.9375rem; }
.fti-product-scenario .fti-product-small { font-size:.8125rem; border-top:1px solid #c7dcd1; padding-top:18px; }
.fti-eval-steps { gap:14px; }
.fti-eval-step { background:#fff; border:1px solid #c7dcd1; transition:border-color .2s,transform .2s; }
.fti-eval-step:hover { border-color:#78a38d; transform:translateY(-2px); }
.fti-eval-num { background:var(--fti-accent); }
.fti-eval-links { gap:8px!important; }
.fti-eval-links a { padding:5px 12px; border:1px solid #c7dcd1; border-radius:999px; color:var(--fti-accent); font-size:.75rem; background:#f4faf7; transition:background .2s,color .2s; }
.fti-eval-links a:hover { background:var(--fti-accent); color:#fff; text-decoration:none; }
.fti-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:32px; }
.fti-stat { padding:20px 22px; border:1px solid var(--fti-line); border-radius:14px; background:#fff; margin:0!important; }
.fti-stat > * { margin:0!important; }
.fti-stat-num { font-size:1.75rem; font-weight:650; letter-spacing:-.03em; line-height:1.1; color:var(--fti-accent)!important; }
.fti-stat-label { font-size:.8125rem!important; margin-top:6px!important; }
.fti-built-for { margin-top:28px; padding-top:24px; border-top:1px solid var(--fti-line); }
.fti-built-for > * { margin:0!important; }
.fti-built-for-title { font-size:.75rem!important; letter-spacing:.12em; text-transform:uppercase; font-weight:650; color:var(--fti-text)!important; margin-bottom:12px!important; }
.fti-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.fti-chip-row span { padding:7px 14px; border-radius:999px; background:var(--fti-accent-soft); color:var(--fti-accent); font-size:.8125rem; font-weight:600; }
@media(max-width:480px) { .fti-stat-grid { grid-template-columns:1fr; } }
/* Premium page polish */
.fti-product-section { border-top-color:#dfe8e4; }
.fti-product-section .is-style-fti-eyebrow { font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; font-weight:650; }
#product-directory .fti-product-index { counter-reset:prod; gap:20px; }
#product-directory .is-style-fti-card { counter-increment:prod; position:relative; padding:28px 28px 26px 28px; border-radius:18px; border:1px solid var(--fti-line); background:#fff; box-shadow:0 1px 0 #fff inset,0 10px 30px -22px #102b3a55; transition:transform .25s,box-shadow .25s,border-color .25s; overflow:hidden; }
#product-directory .is-style-fti-card::before { content:counter(prod,decimal-leading-zero); display:block; font-size:.75rem; font-weight:700; letter-spacing:.14em; color:var(--fti-accent); margin-bottom:12px; }
#product-directory .is-style-fti-card::after { content:"\2192"; position:absolute; right:26px; top:24px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--fti-accent-soft); color:var(--fti-accent); transition:background .25s,color .25s,transform .25s; }
#product-directory .is-style-fti-card:hover { transform:translateY(-4px); border-color:#b5d8ca; box-shadow:0 22px 44px -24px #3aa38777; }
#product-directory .is-style-fti-card:hover::after { background:var(--fti-accent); color:#fff; transform:translateX(3px); }
#product-directory .is-style-fti-card h3 { margin:0 0 8px; }
#product-directory .is-style-fti-card h3 a { text-decoration:none; }
#product-directory .is-style-fti-card h3 a::after { content:''; position:absolute; inset:0; }
#product-directory .is-style-fti-card p { font-size:.9375rem; line-height:1.6; margin:0; }
#evaluation-brief .fti-product-grid { counter-reset:ev; gap:22px; margin-top:8px; }
#evaluation-brief .is-style-fti-card { counter-increment:ev; position:relative; padding:34px 28px 28px!important; border-radius:18px; border:1px solid var(--fti-line); background:linear-gradient(180deg,#fff,#f6faf8); overflow:hidden; }
#evaluation-brief .is-style-fti-card::before { content:''; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#63c7a8,#c4ddd2); }
#evaluation-brief .is-style-fti-card::after { content:counter(ev,decimal-leading-zero); position:absolute; right:24px; top:22px; font-size:1.5rem; font-weight:650; color:#dcebe4; letter-spacing:-.02em; }
#evaluation-brief .is-style-fti-card h3 { margin-top:0; }
#evaluation-brief .is-style-fti-card p { font-size:.9375rem!important; line-height:1.65; }
.fti-product-proof { padding:clamp(28px,4vw,48px); border-radius:24px; border:1px solid #d9e8e1; background:linear-gradient(135deg,#f7fbf9,#eef6f2); position:relative; overflow:hidden; }
.fti-product-proof::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg,#63c7a8,#3aa387); }
.fti-product-proof p { font-size:1rem; line-height:1.7; max-width:820px; }
.fti-chip-row--proof { margin-top:22px!important; }
.fti-chip-row--proof span { background:#fff; border:1px solid #d9e8e1; }
#platform-access .is-style-fti-card { padding:clamp(24px,3vw,36px); border-radius:20px; box-shadow:0 24px 50px -30px #102b3a66; border-color:#d9e8e1; }
.fti-product-faq .wp-block-details { border:1px solid var(--fti-line); border-radius:14px; background:#fff; padding:0 22px; margin-bottom:12px; transition:border-color .2s,box-shadow .2s; }
.fti-product-faq .wp-block-details:first-child { padding-top:0; }
.fti-product-faq .wp-block-details:hover, .fti-product-faq .wp-block-details[open] { border-color:#b5d8ca; box-shadow:0 14px 32px -24px #3aa38777; }
.fti-product-faq summary { list-style:none; cursor:pointer; padding:20px 30px 20px 0; position:relative; font-weight:600; }
.fti-product-faq summary::-webkit-details-marker { display:none; }
.fti-product-faq summary::after { content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%); width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--fti-accent-soft); color:var(--fti-accent); font-size:1.125rem; line-height:1; }
.fti-product-faq details[open] summary::after { content:"\2212"; background:var(--fti-accent); color:#fff; }
.fti-product-faq details p { padding-bottom:20px; margin:0; font-size:.9375rem; line-height:1.65; }
