/* FastCron public pages: nav active, reveal, features, examples, reseller directory */
.menu a.l{position:relative}.menu a.l.active{color:var(--o);font-weight:600}
.menu a.l:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu a.l:hover:after,.menu a.l.active:after{transform:scaleX(1)}
.phead{background:radial-gradient(900px 340px at 80% -20%,#ffe6d2,transparent),linear-gradient(#fff,var(--bg));padding:44px 0 30px;text-align:center}
.phead h1{font-size:clamp(30px,4.6vw,48px);margin:0}.phead .sub{margin:12px auto 0}
.teasers{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tz{display:block}.tz .more{display:inline-block;margin-top:14px;color:var(--o);font-weight:600;font-size:14px;transition:transform .2s}.tz:hover .more{transform:translateX(5px)}
.tz:hover .ic{transform:rotate(-8deg) scale(1.1)}.ic{transition:transform .25s}
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--d,0ms)}
.rv.in{opacity:1;transform:none}
.pcard.f.rv.in{transform:scale(1.03)}
.pulse-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 28px;color:var(--ink);box-shadow:0 18px 50px rgba(28,34,51,.07)}
.pulse-head h3{margin:0;font-size:22px}.pulse-head em{font-style:normal;color:var(--o)}.pulse-head p{margin:4px 0 20px;color:var(--mut);font-size:14px}
.lane{display:flex;align-items:center;gap:16px;margin:14px 0}.lane .lbl{width:38px;font-weight:700;color:var(--o);font-family:ui-monospace,Consolas,monospace}
.track{position:relative;flex:1;height:2px;background:repeating-linear-gradient(90deg,#f1d9c6 0 8px,transparent 8px 16px)}
.dot{position:absolute;top:-8px;left:0;width:calc(100% - 18px);height:18px;will-change:transform;animation:run var(--t) linear infinite}
.dot:before{content:"";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--o);animation:beat var(--t) ease-out infinite}
@keyframes run{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes beat{0%,90%{box-shadow:0 0 0 0 rgba(255,106,0,.7)}100%{box-shadow:0 0 0 14px rgba(255,106,0,0)}}
.statrow{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.statrow b{display:block;font-size:44px;font-weight:800;line-height:1.1;background:linear-gradient(90deg,var(--o),#ffb067);-webkit-background-clip:text;background-clip:text;color:transparent}
.statrow small{color:var(--mut);font-size:14px}
.fx{position:relative;overflow:hidden}
.fx:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--o),#ffb067);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.fx:hover:before{transform:scaleX(1)}.fx:hover .ic{animation:wiggle .6s ease}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg) scale(1.12)}60%{transform:rotate(10deg) scale(1.12)}}
.cmp td:nth-child(2){background:#fffaf5;font-weight:600}.cmp td:first-child{font-weight:600}
.yes{color:#16a34a;font-weight:700}.no{color:#b4bccd}
.ticker{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;color:var(--ink);box-shadow:0 18px 50px rgba(28,34,51,.07)}
.tk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tk-head small{color:var(--mut)}
.live{font-weight:600;display:flex;align-items:center;gap:8px}.live i{width:10px;height:10px;border-radius:50%;background:#22c55e;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.tk-lane{display:grid;grid-template-columns:44px 1fr 56px;gap:12px;align-items:center;margin:10px 0}.tk-lane b{color:var(--o);font-family:ui-monospace,Consolas,monospace}
.tk-lane .bar{height:8px;background:#fdeee2;border-radius:99px;overflow:hidden}.tk-lane .bar i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform;background:linear-gradient(90deg,var(--o),#ffb067);border-radius:99px}
.tk-lane em{font-style:normal;text-align:right;font-family:ui-monospace,Consolas,monospace;color:var(--ink)}
.tk-lane.fire em{color:#16a34a}
.tk-log{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-family:ui-monospace,Consolas,monospace;font-size:12.5px;height:176px;overflow:hidden}
.tk-log li{display:flex;gap:10px;flex-wrap:wrap;color:#5d667c;padding:2px 0;animation:slidein .35s ease}.tk-log .ok{color:#16a34a;font-weight:600}.tk-log .iv{color:var(--o);font-weight:600}
@keyframes slidein{from{opacity:0;transform:translateY(-8px)}}
.chipbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}
.fchip{font:inherit;font-weight:600;font-size:14px;padding:8px 20px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--mut);cursor:pointer;transition:.2s}
.fchip:hover{border-color:var(--o);color:var(--o);transform:translateY(-2px)}.fchip.on{background:var(--o);border-color:var(--o);color:#fff;box-shadow:0 8px 18px rgba(255,106,0,.3)}
.xgrid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.xc.hide{display:none}.xc.pop{animation:pop .45s ease both}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(12px)}}
.xc{padding:24px}.xc h3{margin:0 0 4px;font-size:17px}.xc p{margin:0 0 12px;font-size:14px}
.term{background:#14192b;border-radius:12px;overflow:hidden;margin-top:12px;transition:box-shadow .25s}.xc:hover .term{box-shadow:0 10px 26px rgba(20,25,43,.3)}
.term-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#1d2340}
.term-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}
.term-bar .ttl{margin-left:8px;color:#7f89a8;font-size:12px}
.copy-btn{margin-left:auto;font:inherit;font-size:12px;font-weight:600;color:#e9edf8;background:#2a3157;border:0;border-radius:6px;padding:4px 12px;cursor:pointer;transition:.2s}
.copy-btn:hover{background:var(--o)}.copy-btn.done{background:#16a34a}
.term pre{margin:0;padding:14px 16px;color:#8be0a4;font-size:13px;line-height:1.7;overflow:auto;min-height:52px;white-space:pre-wrap;word-break:break-all}
.term.big pre{font-size:14px;min-height:130px}
.caret{display:inline-block;width:8px;height:15px;background:#e9edf8;vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
.term.big{max-width:860px;margin:0 auto}
.dir{padding:36px 0 70px;background:linear-gradient(#fff,var(--bg))}
.dir-title{display:table;margin:0 auto 14px;background:#fff1e6;border:1px solid #ffd9bd;border-radius:999px;padding:10px 24px;font-size:1.15rem;font-weight:700;color:var(--ink)}
.dir-note{max-width:640px;margin:0 auto 18px;text-align:center;color:var(--mut);line-height:1.6}.dir-note a{color:var(--o);font-weight:700}
.dir-search{display:block;width:min(520px,100%);margin:0 auto 14px;border-radius:999px;padding:12px 18px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;outline:none;transition:.2s}
.dir-search:focus{border-color:var(--o);box-shadow:0 0 0 4px rgba(255,106,0,.12)}
.dir-filters{display:flex;justify-content:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.dir-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 16px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:.2s}
.dir-filters button.is-on{background:var(--o);color:#fff;border-color:var(--o)}
.dir-stats{display:flex;justify-content:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.dir-stats span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.75rem;color:var(--mut);letter-spacing:.04em;text-align:center}
.dir-stats b{display:block;color:var(--ink);font-size:1rem}
.dir-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.dir-btn{display:inline-flex;align-items:center;border-radius:999px;padding:10px 18px;font-weight:700;color:#fff;transition:.2s}.dir-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.15)}
.dir-btn-orange{background:var(--o)}.dir-btn-green{background:#16a34a}
.dir-feature{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:24px;margin-bottom:30px;width:100%}
.dir-feature .dir-card.is-main{width:min(100%,360px);padding-top:16px;padding-bottom:12px}
.dir-feature .dir-card.is-main:first-child{justify-self:start}.dir-feature .dir-card.is-main:last-child{justify-self:end}
.dir-center{display:flex;flex-direction:column;align-items:center}.dir-center img{width:130px;height:auto;object-fit:contain;animation:float 4s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.dir-word{margin:8px 0 0;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;line-height:1}.dir-word b{color:var(--o)}
.dir-section{margin:8px 0 18px;font-size:1.1rem;text-align:center}
.dir-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;text-align:center}
.dir-grid .dir-card{flex:0 0 calc((100% - 42px)/4);width:calc((100% - 42px)/4)}
.dir-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 14px 16px;text-align:center;box-shadow:0 8px 24px rgba(17,24,39,.05);transition:opacity .6s ease,transform .25s,box-shadow .25s}
.dir-card.in:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(255,106,0,.16)}
.dir-badge{position:absolute;top:10px;left:10px;font-size:.68rem;font-weight:700;color:#fff;background:var(--o-ink);border-radius:999px;padding:3px 9px}
.dir-badge.reseller{background:#1c2233}
.dir-logo{width:96px;height:96px;margin:2px auto 8px;border-radius:50%;display:grid;place-items:center;background:#fff1e6;border:2px solid #ffd9bd;color:var(--o);font-weight:800;font-size:2rem;transition:transform .3s}
.dir-card:hover .dir-logo{transform:scale(1.07) rotate(-4deg)}
.dir-feature .dir-card.is-main .dir-logo{width:124px;height:124px;font-size:2.6rem}
.dir-card h3{font-size:.98rem;margin:0 0 4px}.dir-check{color:#16a34a;font-style:normal}
.dir-card p{color:var(--mut);font-size:.8rem;margin:0 0 10px}
.dir-social{display:flex;justify-content:center;gap:6px}
.dir-social a,.dir-social span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .15s}
.dir-social a:hover{transform:scale(1.16)}.dir-social .is-off{opacity:.35}
.soc-web{background:#1a73e8}.soc-fb{background:#1877f2}.soc-yt{background:#f00}.soc-tg{background:#229ed9}.soc-wa{background:#25d366}
.dir-social svg{width:16px;height:16px}.dir-empty{color:var(--mut)}
.tiers{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(max-width:860px){
 .dir-grid .dir-card{flex-basis:calc((100% - 14px)/2);width:calc((100% - 14px)/2)}
 .dir-feature{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);column-gap:8px}
 .dir-feature .dir-card.is-main{width:100%;max-width:none;padding:22px 6px 10px}
 .dir-feature .dir-card.is-main:first-child,.dir-feature .dir-card.is-main:last-child{justify-self:stretch}
 .dir-feature .dir-card.is-main .dir-logo{width:56px;height:56px;font-size:1.35rem;margin:2px auto 4px}
 .dir-feature .dir-card h3{font-size:.68rem}.dir-feature .dir-card p{font-size:.62rem}
 .dir-feature .dir-badge{font-size:.52rem;padding:2px 5px}.dir-feature .dir-social{gap:3px}
 .dir-feature .dir-social a,.dir-feature .dir-social span{width:18px;height:18px}.dir-feature .dir-social svg{width:10px;height:10px}
 .dir-center img{width:60px;height:auto}.dir-word{font-size:.62rem}
 .phead{padding:32px 0 22px}
}
@media(max-width:480px){.dir-grid .dir-card{flex-basis:100%;width:100%}}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .rv{opacity:1;transform:none}.pcard.f.rv{transform:scale(1.03)}.caret{display:none}
}.phead + section.s{padding-top:44px}
@media(max-width:860px){.phead + section.s{padding-top:32px}}

/* ---- compact pricing cards: numbers first, small labels beneath; toggle + 3 cards fit 1366x768 ---- */
.price{padding-top:0!important;padding-bottom:40px!important}
.ptoggle-wrap{margin:0 auto 26px}.ptoggle-note{margin:8px 0 0;font-size:13px}
.pgrid{gap:20px;max-width:1040px;margin:0 auto}
.pcard{padding:22px 22px 20px;border-radius:18px}
.pcard.f{transform:none}.pcard.f.rv.in{transform:none}.pcard.f:hover{transform:translateY(-4px)}
.pcard h3{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.pprice{margin:6px 0 4px;gap:0}
.pamt{font-size:46px;font-weight:800;line-height:1.05;color:var(--ink)}
.plabel{color:var(--mut);font-size:12.5px;font-weight:500;margin-top:2px}
.pprice .psave{margin-top:6px}
.pcard .jobs{display:flex;flex-direction:column;align-items:center;margin:12px 0 10px;padding:10px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-size:12.5px}
.pcard .jobs b{font-size:32px;line-height:1.05;margin:0}
.pcard ul{margin:0 0 16px}.pcard li{padding:5px 0 5px 24px;font-size:13px;border-top:0}
.pcard li:before{left:2px}
.pcard .btn{padding:10px 20px;font-size:14px}
.phead{padding:26px 0 20px}.phead h1{font-size:clamp(28px,3.6vw,38px)}
@media(max-width:720px){.pgrid{grid-template-columns:1fr;max-width:420px}.pamt{font-size:42px}.pcard .jobs b{font-size:28px}}
/* tighter vertical rhythm so toggle + cards fit a 1366x768 viewport */
.phead{padding:16px 0 12px}.phead h1{font-size:clamp(26px,3.2vw,34px)}
.ptoggle-wrap{margin-bottom:18px}.ptoggle-note{display:none}
.pcard{padding:18px 20px 16px}.pcard li{padding:4px 0 4px 24px;font-size:12.8px}
.pcard ul{margin-bottom:12px}.pcard .jobs{margin:8px 0}
.price{padding-bottom:30px!important}
/* 404 */
.e404{padding:70px 0 90px!important}.e404-ic{display:block;margin:0 auto 6px;animation:float 4s ease-in-out infinite}
.e404-code{margin:0;font-size:64px;font-weight:800;line-height:1;background:linear-gradient(90deg,var(--o),#ffb067);-webkit-background-clip:text;background-clip:text;color:transparent}
.e404 h1{margin:10px 0 6px}.e404 .cta{margin-top:26px}
.pulse-box{overflow:hidden}
/* contrast: orange text on light backgrounds uses the darker ink */
.menu a.l.active,.menu a.l:hover{color:var(--o-ink)}
.tbl th{color:var(--o-ink)}
/* ---- pricing hero: heading, intro and billing toggle with room to breathe ---- */
.phead.ph-price{padding:56px 0 44px}
.ph-price h1{font-size:clamp(30px,4vw,44px);line-height:1.15}
.ph-price .sub{margin:12px auto 0;max-width:560px;font-size:16px}
.ph-price .ptoggle-wrap{margin:28px auto 0}
.ph-price + section.s.price{padding-top:40px!important}
/* price line: "Save N%" badge sits right of the amount, out of flow, so card height never changes */
.pline{position:relative;display:inline-block;line-height:1}
.pline .psave,.pprice .psave{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin:0 0 0 10px;white-space:nowrap;line-height:1.4}
.psave[hidden]{display:inline-block;visibility:hidden}
@media(max-width:720px){
 .phead.ph-price{padding:36px 0 30px}
 .ph-price .sub{font-size:15px}
 .ph-price .ptoggle-wrap{margin-top:22px}
 .ph-price + section.s.price{padding-top:28px!important}
}

/* ===== section spacing scale: 64px between sections on desktop, 40px on mobile ===== */
:root{--sec:32px;--sec-head:32px}
@media(max-width:760px){:root{--sec:20px;--sec-head:24px}}
main>section.s,main>section.hs{padding:var(--sec) 0!important}
main>section.s:last-child,main>section.hs:last-child{padding-bottom:calc(var(--sec)*2)!important}
.phead+section.s,.phead+section.hs,.mk-head+section.hs{padding-top:calc(var(--sec)*1.25)!important}
main .st{margin-bottom:var(--sec-head)}
main .st h2{margin:0 0 10px}
main .more{margin-top:24px}
main>section.dir{padding-bottom:var(--sec)}

main>section>.wrap>:last-child{margin-bottom:0}
main .band{margin-top:var(--sec-head)}
.phead.mk-head,.phead.ph-price{padding:48px 0 32px!important}
@media(max-width:760px){.phead.mk-head,.phead.ph-price{padding:32px 0 20px!important}.tbl th,.tbl td{padding:12px 10px;font-size:14px}.tbl{table-layout:fixed}.tbl th{font-size:11.5px;letter-spacing:.02em;overflow-wrap:anywhere}}
.lane{overflow-x:clip}
main .faq>:last-child{margin-bottom:0}
.popt .psave-b{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;background:#dcfce7;color:#15803d;font-size:11px;font-weight:700;line-height:1.6;vertical-align:1px;white-space:nowrap}
@media(max-width:420px){.popt .psave-b{margin-left:4px;padding:1px 5px;font-size:10px}}

/* pricing cards: shared feature list, missing features */
.pcard li.no{color:#a3a9b6}.pcard li.no:before{content:"\2715";color:#e5484d;font-weight:700}
.pcard .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
