/* tfs-blocks.css — the SHIFT theme for the page engine (tfs-render.js).
   Loaded by both the live page and the editor canvas so they match.
   Standing rules honored: cards equal-height with actions pinned to the
   bottom; everything inline; no overlays. */
:root{
  --tf-purple:#483D8B; --tf-blue:#1A61CB; --tf-teal:#008080; --tf-yellow:#E6E200;
  --tf-ink:#1e2230; --tf-body:#3a4250; --tf-muted:#5C666E; --tf-line:#e3e8ef;
  --tf-surface:#f5f7fb; --tf-cta:#ED6A45;
  --tf-display:'Montserrat',system-ui,sans-serif; --tf-font:'Open Sans',system-ui,sans-serif;
  --tf-wrap:1200px;
}
.tfs-page{font-family:var(--tf-font);color:var(--tf-body);line-height:1.6;}
.tfs-page h1,.tfs-page h2,.tfs-page h3{font-family:var(--blk-display,var(--tf-display));color:var(--blk-color,var(--tf-ink));font-weight:800;line-height:1.15;}
.tfs-page .wrap{max-width:var(--tf-wrap);margin:0 auto;padding:0 24px;}
.tfs-page .sec{padding:56px 0;}
.tfs-page h2{font-size:32px;margin:0 0 16px;}
.tfs-page h3{font-size:20px;margin:0 0 8px;}
.tfs-page p,.tfs-page li{color:var(--blk-color,inherit);font-family:var(--blk-font,inherit);}
.tfs-page p{margin:0 0 14px;}
.tfs-page .kicker{display:inline-block;font-family:var(--tf-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--tf-teal);margin-bottom:10px;}
.tfs-page .lead{font-size:19px;color:var(--tf-body);margin-bottom:16px;}
.tfs-page .prose ul{margin:0 0 14px;padding-left:20px;}
.tfs-page .prose li{margin:4px 0;}

/* buttons */
.tfs-page .btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--tf-display);font-weight:700;font-size:15px;padding:12px 24px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.15s;}
.tfs-page .btn-primary{background:var(--tf-ink);color:#fff;}
.tfs-page .btn-primary:hover{background:#000;}
.tfs-page .btn-ghost{background:transparent;color:var(--tf-ink);border-color:var(--tf-ink);}
.tfs-page .btn-ghost:hover{background:var(--tf-ink);color:#fff;}
.tfs-page .btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;}

/* hero */
.tfs-page .feat-hero{background:linear-gradient(120deg,var(--tf-blue),var(--tf-purple));color:#fff;padding:72px 0;}
.tfs-page .feat-hero h1{color:var(--blk-color,#fff);font-size:52px;margin:0 0 16px;}
.tfs-page .feat-hero .kicker{color:#cfe0ff;}
.tfs-page .feat-hero .lead{color:var(--blk-color,#e8eefc);font-size:20px;}
.tfs-page .feat-hero .btn-ghost{color:#fff;border-color:#fff;}
.tfs-page .feat-hero .btn-ghost:hover{background:#fff;color:var(--tf-ink);}
.tfs-page .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.tfs-page .hero-art{display:flex;justify-content:center;}
.tfs-page .hero-art img{max-width:100%;max-height:440px;height:auto;}

/* media (image + text) */
.tfs-page .media-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.tfs-page .media-badge{height:96px;width:auto;margin-bottom:16px;display:block;}
.tfs-page .media-img img{width:100%;height:auto;border-radius:16px;display:block;}

/* grids + cards (equal height, actions pinned) */
.tfs-page .grid{display:grid;gap:24px;margin-top:24px;align-items:stretch;}
.tfs-page .grid.cols-1{grid-template-columns:1fr;}
.tfs-page .grid.cols-2{grid-template-columns:repeat(2,1fr);}
.tfs-page .grid.cols-3{grid-template-columns:repeat(3,1fr);}
.tfs-page .grid.cols-4{grid-template-columns:repeat(4,1fr);}
.tfs-page .feat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tf-line);border-radius:16px;padding:26px;box-shadow:0 1px 3px rgba(20,30,60,.05);}
.tfs-page .feat-card .grow{flex:1;}
.tfs-page .feat-card .tag{display:inline-block;font-family:var(--tf-display);font-weight:700;font-size:12px;letter-spacing:.05em;color:var(--tf-blue);margin-bottom:8px;}
.tfs-page .feat-card .btn{width:100%;margin-top:14px;}
.tfs-page .prod-foot{display:flex;align-items:baseline;gap:10px;margin-top:10px;}
.tfs-page .prod-foot .price{font-family:var(--tf-display);font-weight:800;font-size:26px;color:var(--tf-ink);}
.tfs-page .prod-foot .renew{font-size:13px;color:var(--tf-muted);}

/* stat band */
.tfs-page .stats-band{background:var(--tf-ink);padding:64px 0;}
.tfs-page .stats-band .on-dark{color:#fff;text-align:center;}
.tfs-page .stat-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px;text-align:center;}
.tfs-page .stat-num{font-family:var(--tf-display);font-weight:800;font-size:52px;color:var(--tf-yellow);line-height:1;}
.tfs-page .stat-num span{font-size:32px;}
.tfs-page .stat-label{color:#cbd3e1;margin-top:10px;font-size:15px;}

/* accordion */
.tfs-page .acc-list{margin-top:16px;}
.tfs-page .acc{background:var(--tf-surface);border:1px solid var(--tf-line);border-radius:12px;padding:16px 20px;margin-bottom:12px;}
.tfs-page .acc summary{cursor:pointer;font-family:var(--tf-display);font-weight:700;color:var(--tf-ink);list-style:none;}
.tfs-page .acc summary::-webkit-details-marker{display:none;}
.tfs-page .acc summary:after{content:'+';float:right;color:var(--tf-blue);font-weight:800;}
.tfs-page .acc[open] summary:after{content:'–';}
.tfs-page .acc .prose{margin-top:10px;}

/* table */
.tfs-page .tbl-wrap{overflow-x:auto;margin-top:16px;}
.tfs-page .tbl{width:100%;border-collapse:collapse;min-width:520px;}
.tfs-page .tbl th,.tfs-page .tbl td{padding:12px;border:1px solid var(--tf-line);text-align:left;}
.tfs-page .tbl th{background:var(--tf-surface);font-family:var(--tf-display);}

/* cta */
.tfs-page .cta-band{background:var(--tf-cta);color:#fff;padding:56px 0;}
.tfs-page .cta-band h2{color:#fff;}
.tfs-page .cta-band .btn-primary{background:var(--tf-ink);}
.tfs-page .cta-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
.tfs-page .cta-art img{max-height:220px;height:auto;}

/* misc */
.tfs-page .fig img{border-radius:16px;display:block;margin:0 auto;}
.tfs-page .fig figcaption{text-align:center;color:var(--tf-muted);font-size:14px;margin-top:8px;}
.tfs-page .col h3{margin-bottom:6px;}
.tfs-page .ph{border:2px dashed var(--tf-line);border-radius:12px;padding:28px;text-align:center;color:var(--tf-muted);}

@media (max-width:820px){
  .tfs-page .hero-grid,.tfs-page .media-grid,.tfs-page .cta-grid{grid-template-columns:1fr;}
  .tfs-page .grid.cols-2,.tfs-page .grid.cols-3,.tfs-page .grid.cols-4{grid-template-columns:1fr;}
  .tfs-page .feat-hero h1{font-size:36px;}
  .tfs-page .hero-art,.tfs-page .cta-art{display:none;}
}

/* per-block text size */
.tfs-page .size-sm h1{font-size:40px;}.tfs-page .size-sm h2{font-size:26px;}.tfs-page .size-sm h3{font-size:17px;}.tfs-page .size-sm p,.tfs-page .size-sm li,.tfs-page .size-sm .lead{font-size:15px;}
.tfs-page .size-lg h1{font-size:60px;}.tfs-page .size-lg h2{font-size:40px;}.tfs-page .size-lg h3{font-size:24px;}.tfs-page .size-lg p,.tfs-page .size-lg li,.tfs-page .size-lg .lead{font-size:21px;}
.tfs-page .size-xl h1{font-size:70px;}.tfs-page .size-xl h2{font-size:48px;}.tfs-page .size-xl h3{font-size:28px;}.tfs-page .size-xl p,.tfs-page .size-xl li,.tfs-page .size-xl .lead{font-size:24px;}
