/* Shared topical landing system for every assigned template. */
body.page-keyword_page { --ft-ink:#192c3f; --ft-muted:#586c80; --ft-line:#dfe7ee; --ft-accent:#245a83; --ft-accent:color-mix(in srgb,var(--primary) 65%,#183248); color:var(--ft-ink); }
.page-keyword_page .ft-wrap { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.page-keyword_page .ft-hero { padding:28px 0 0; background:linear-gradient(120deg,#f7f9fc,#edf3f7); }
.page-keyword_page .ft-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:36px; color:var(--ft-muted); font-size:13px; }
.page-keyword_page .ft-breadcrumb a { color:var(--ft-muted); }
.page-keyword_page .ft-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:64px; align-items:center; padding-bottom:44px; }
.page-keyword_page .ft-eyebrow { margin:0 0 14px; color:var(--ft-accent); font-size:12px; font-weight:700; letter-spacing:.08em; }
.page-keyword_page .ft-hero h1 { margin:0; color:var(--ft-ink); font-size:clamp(32px,3.2vw,46px); font-weight:750; line-height:1.35; letter-spacing:-.035em; overflow-wrap:anywhere; }
.page-keyword_page .ft-lead { margin:24px 0 0; max-width:600px; color:var(--ft-muted); font-size:16px; line-height:1.95; }
.page-keyword_page .ft-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.page-keyword_page .ft-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:14px 22px; border:1px solid var(--ft-accent); border-radius:8px; font-size:15px; font-weight:650; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.page-keyword_page .ft-button.primary { background:var(--ft-accent); color:#fff; }
.page-keyword_page .ft-button.secondary { color:var(--ft-accent); background:#fff; border-color:#bccbd8; }
.page-keyword_page .ft-button:hover { transform:translateY(-2px); box-shadow:0 8px 20px #1832481a; }
.page-keyword_page .ft-phone { margin:20px 0 0; color:var(--ft-muted); font-size:13px; }
.page-keyword_page .ft-phone a { margin-left:8px; color:var(--ft-ink); font-size:16px; font-weight:700; }
.page-keyword_page .ft-hero-media { position:relative; display:flex; flex-direction:column; justify-content:center; margin:0; min-width:0; min-height:340px; padding:28px 28px 82px; border:1px solid #e0e7ee; border-radius:18px; background:#fff; box-shadow:0 20px 60px #243c5310; }
.page-keyword_page .ft-hero-media>img { display:block; width:100%; height:280px; object-fit:contain; }
.page-keyword_page .ft-hero-media figcaption { position:absolute; bottom:22px; left:28px; right:28px; display:flex; flex-direction:column; gap:4px; padding-top:14px; border-top:1px solid var(--ft-line); }
.page-keyword_page .ft-hero-media figcaption span { color:var(--ft-muted); font-size:12px; }
.page-keyword_page .ft-hero-media figcaption strong { color:var(--ft-ink); font-size:16px; font-weight:650; }
.page-keyword_page .ft-hero-media.is-profile { padding:40px; background:linear-gradient(135deg,#fff,#e6eef5); }
.page-keyword_page .ft-hero-media.is-profile>strong { color:var(--ft-ink); font-size:32px; line-height:1.5; }
.page-keyword_page .ft-facts { display:flex; flex-wrap:wrap; gap:24px 36px; padding:28px 0; margin:0; border-top:1px solid #d9e3ec; }
.page-keyword_page .ft-facts>div { flex:1 1 160px; min-width:0; }
.page-keyword_page .ft-facts dt { color:var(--ft-muted); font-size:12px; }
.page-keyword_page .ft-facts dd { margin:8px 0 0; color:#263e54; font-size:14px; font-weight:600; line-height:1.7; overflow-wrap:anywhere; }
.page-keyword_page .ft-section-nav { background:#fff; border-block:1px solid var(--ft-line); }
.page-keyword_page .ft-section-nav .ft-wrap { display:flex; gap:32px; flex-wrap:wrap; }
.page-keyword_page .ft-section-nav a { display:block; padding:18px 0; color:var(--ft-ink); font-size:14px; }
.page-keyword_page .ft-section { padding:72px 0; background:#fff; }
.page-keyword_page .ft-section.soft { background:#f6f8fb; border-block:1px solid #e6ecf2; }
.page-keyword_page .ft-section h2 { margin:0; color:var(--ft-ink); font-size:30px; font-weight:700; line-height:1.45; letter-spacing:-.025em; }
.page-keyword_page .ft-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.page-keyword_page .ft-text-link { color:var(--ft-accent); font-size:14px; font-weight:650; text-decoration:none; }
.page-keyword_page .ft-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.page-keyword_page :is(.ft-product-grid,.ft-proof-grid,.ft-reading-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.page-keyword_page :is(.ft-product-card,.ft-proof-card,.ft-reading-card) { min-width:0; border:1px solid var(--ft-line); border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 5px 22px #243c5307; }
.page-keyword_page .ft-product-card { display:flex; flex-direction:column; }
.page-keyword_page .ft-product-media { display:flex; align-items:center; justify-content:center; height:240px; padding:20px; background:#f5f7fa; border-bottom:1px solid #e6ecf2; }
.page-keyword_page .ft-product-media img { width:100%; height:100%; object-fit:contain; }
.page-keyword_page .ft-text-image { color:var(--ft-muted); font-size:20px; font-weight:600; text-align:center; }
.page-keyword_page .ft-card-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:24px; }
.page-keyword_page :is(.ft-card-body,.ft-service-card,.ft-proof-card,.ft-reading-card) h3 { margin:0 0 12px; color:var(--ft-ink); font-size:19px; line-height:1.55; font-weight:650; overflow-wrap:anywhere; }
.page-keyword_page .ft-card-body h3 a { color:inherit; }
.page-keyword_page :is(.ft-card-body,.ft-service-card,.ft-proof-card,.ft-reading-card) p { margin:0 0 20px; color:var(--ft-muted); font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
.page-keyword_page .ft-card-body>.ft-text-link { margin-top:auto; }
.page-keyword_page .ft-card-body>p:not(.ft-price) { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.page-keyword_page .ft-card-body .ft-price { color:var(--ft-accent); font-weight:650; }
.page-keyword_page .ft-service-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:18px; }
.page-keyword_page .ft-service-grid.after-products { margin-top:32px; padding-top:32px; border-top:1px solid var(--ft-line); }
.page-keyword_page .ft-service-card { min-width:0; padding:24px; border:1px solid var(--ft-line); border-radius:12px; background:#fbfcfe; }
.page-keyword_page .ft-index { display:block; margin-bottom:18px; color:#71879b; font-size:12px; font-weight:700; }
.page-keyword_page .ft-proof-card { padding:28px; }
.page-keyword_page .ft-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; }
.page-keyword_page .ft-muted { margin:20px 0; color:var(--ft-muted); line-height:1.9; }
.page-keyword_page .ft-faq details { margin-bottom:12px; border:1px solid var(--ft-line); border-radius:10px; background:#fff; }
.page-keyword_page .ft-faq summary { padding:20px 24px; color:var(--ft-ink); font-size:16px; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.page-keyword_page .ft-answer { padding:0 24px 22px; color:var(--ft-muted); font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.page-keyword_page .ft-reading-card { display:flex; flex-direction:column; align-items:flex-start; padding:26px; text-decoration:none; }
.page-keyword_page .ft-reading-card time { margin-bottom:16px; color:#6a8197; font-size:12px; }
.page-keyword_page .ft-reading-card>.ft-text-link { margin-top:auto; }
.page-keyword_page .ft-contact { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; padding:44px; border:1px solid #d9e4ee; border-radius:16px; background:linear-gradient(120deg,#f0f5fa,#e7eff7); }
.page-keyword_page .ft-contact h2 { max-width:760px; font-size:28px; overflow-wrap:anywhere; }
.page-keyword_page .ft-contact p { margin:16px 0 0; color:var(--ft-muted); line-height:1.85; }
.page-keyword_page .ft-contact .ft-contact-address { font-size:13px; }
.page-keyword_page .ft-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.page-keyword_page .ft-contact-phone { color:var(--ft-ink); font-size:24px; font-weight:750; }
.page-keyword_page .ga-footer-directory { margin-top:30px; border-top:1px solid #ffffff30; padding-top:20px; }
.page-keyword_page .ga-footer-directory>summary { color:#e2ebf5; font-size:14px; cursor:pointer; }
.page-keyword_page .ga-footer-directory .footer-stations { width:100%; padding-inline:0; }
@media(max-width:1000px) { .page-keyword_page .ft-hero-grid { gap:32px; } .page-keyword_page :is(.ft-product-grid,.ft-proof-grid,.ft-reading-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); } .page-keyword_page .ft-faq-layout { gap:32px; } }
@media(max-width:760px) { .page-keyword_page .ft-wrap { width:calc(100% - 40px); } .page-keyword_page .ft-hero-grid { grid-template-columns:1fr; gap:32px; } .page-keyword_page .ft-hero h1 { font-size:30px; line-height:1.4; } .page-keyword_page .ft-breadcrumb { margin-bottom:26px; } .page-keyword_page .ft-hero-media { min-height:280px; } .page-keyword_page .ft-hero-media>img { height:230px; } .page-keyword_page .ft-facts { gap:20px; } .page-keyword_page .ft-facts>div { flex-basis:calc(50% - 20px); } .page-keyword_page .ft-section { padding:44px 0; } .page-keyword_page .ft-section h2 { font-size:25px; } .page-keyword_page .ft-heading { align-items:flex-start; flex-direction:column; gap:16px; } .page-keyword_page .ft-faq-layout { grid-template-columns:1fr; gap:24px; } .page-keyword_page .ft-contact { grid-template-columns:1fr; gap:28px; padding:26px; } .page-keyword_page .ft-section-nav .ft-wrap { gap:24px; } .page-keyword_page .ft-section-nav a { padding:14px 0; font-size:13px; } }
@media(max-width:520px) { .page-keyword_page :is(.ft-product-grid,.ft-proof-grid,.ft-reading-grid) { grid-template-columns:minmax(0,1fr); } .page-keyword_page .ft-actions { flex-direction:column; } .page-keyword_page .ft-button { width:100%; } .page-keyword_page .ft-product-media { height:240px; } }
@media(min-width:360px) and (max-width:520px) { .page-keyword_page .ft-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .page-keyword_page .ft-product-media { height:160px; padding:12px; } .page-keyword_page .ft-card-body { padding:16px; } .page-keyword_page .ft-card-body h3 { font-size:16px; } .page-keyword_page .ft-card-body>p { font-size:13px; } .page-keyword_page .ft-card-body>.ft-text-link { font-size:13px; } }
