/* Features page. Mock-ups are decorative HTML/CSS with example data; real text always sits beside them. */
.fx-hero{padding-bottom:2.4rem}
.fx-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--b),#3b82f6 60%,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.fx-float{position:relative;min-height:300px}
.fx-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(50,50,140,.16);padding:.9rem 1rem;font-size:.82rem;animation:fxbob 7s ease-in-out infinite}
.fx-card.c1{top:0;left:6%;width:64%}.fx-card.c2{top:96px;right:0;width:58%;animation-delay:-2s}.fx-card.c3{bottom:0;left:0;width:52%;animation-delay:-4s}
@keyframes fxbob{50%{transform:translateY(-8px)}}
.fx-nav{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.fx-nav .container{display:flex;gap:.4rem;overflow-x:auto;padding:.6rem 12px;scrollbar-width:none}
.fx-nav a{white-space:nowrap;text-decoration:none;font-weight:600;font-size:.86rem;color:var(--mut);padding:.4rem .85rem;border-radius:99px;border:1px solid transparent}
.fx-nav a:hover{color:var(--bd)}.fx-nav a.on{background:#eef0ff;border-color:#cfcbff;color:var(--bd)}
.fx-chap{padding:4.2rem 0;scroll-margin-top:130px}.fx-chap:nth-of-type(even){background:linear-gradient(#fff,#f7f8ff)}
.fx-num{font:700 .78rem Sora;letter-spacing:.14em;text-transform:uppercase;color:var(--b)}
.fx-chap h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin:.4rem 0 .8rem}
.fx-lead{color:var(--mut);font-size:1.05rem;max-width:560px}
.fx-list{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.7rem}
.fx-list li{display:flex;gap:.7rem;align-items:flex-start}.fx-list i{flex:0 0 26px;height:26px;border-radius:8px;background:#eef0ff;color:var(--b);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.85rem}
.fx-list b{display:block}.fx-list span{color:var(--mut);font-size:.92rem}
.fx-stage{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(50,50,140,.14);padding:1.2rem;position:relative}
.fx-stage:before{content:attr(data-label);position:absolute;top:-.7rem;left:1.2rem;background:#eef0ff;color:var(--bd);font:600 .68rem Inter;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .6rem;border-radius:99px;border:1px solid #cfcbff}
.fx-mut{color:var(--mut)}.fx-sm{font-size:.82rem}
.fx-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.fx-chip{display:inline-block;font-size:.76rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;border:1px solid var(--line);background:#fff}
.fx-chip.ok{background:#e8f8ef;border-color:#bfe8d0;color:#0f7a43}.fx-chip.gap{background:#fff4e0;border-color:#f6d9a3;color:#9a5b00}.fx-chip.unk{background:#eef0ff;border-color:#cfcbff;color:var(--bd)}
button.fx-chip{cursor:pointer;font-family:inherit}button.fx-chip[aria-pressed=true]{background:var(--b);border-color:var(--b);color:#fff}
.fx-job{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff}
.fx-job h3{font-size:1.02rem;margin:0}.fx-split{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.8rem}
.fx-split div{background:#f7f8ff;border-radius:12px;padding:.6rem;font-size:.78rem}.fx-split b{display:block;margin-bottom:.3rem;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
/* resume mini-templates */
.fx-paper{aspect-ratio:3/4;max-width:260px;margin:.4rem auto 0;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:.8rem;display:grid;gap:.35rem;align-content:start;transition:.3s;position:relative;overflow:hidden}
.fx-paper s{display:block;height:5px;border-radius:3px;background:#e4e6f0;text-decoration:none}.fx-paper s.h{height:9px;width:55%;background:#232a52}.fx-paper s.a{background:var(--b);width:30%}.fx-paper s.w{width:100%}.fx-paper s.m{width:72%}.fx-paper s.n{width:45%}
.fx-paper.sidebar{grid-template-columns:34% 1fr;gap:.35rem .6rem}.fx-paper.sidebar:before{content:"";position:absolute;inset:0 66% 0 0;background:#e8ebff}.fx-paper.sidebar>*{position:relative}
.fx-paper.banner:before{content:"";display:block;margin:-.8rem -.8rem .3rem;height:46px;background:linear-gradient(90deg,var(--b),#3b82f6)}.fx-paper.compact{gap:.22rem}.fx-paper.compact s{height:4px}
.fx-ring{--p:82;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--ok) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center;flex:0 0 auto}
.fx-ring b{width:86px;height:86px;border-radius:50%;background:#fff;display:grid;place-items:center;font:700 1.7rem Sora;line-height:1}.fx-ring small{display:block;font:600 .62rem Inter;color:var(--mut);text-align:center}
.fx-check{list-style:none;padding:0;margin:0;display:grid;gap:.3rem;font-size:.84rem}.fx-check li:before{content:"✓";color:var(--ok);font-weight:700;margin-right:.5rem}.fx-check li.x:before{content:"!";color:#d97706}
.fx-diff{font-size:.84rem;display:grid;gap:.4rem}.fx-diff div{padding:.5rem .7rem;border-radius:10px;border:1px solid var(--line)}
.fx-diff .keep{background:#f4faf6;border-color:#cfe9d9}.fx-diff .gone{background:#fff5f5;border-color:#f3cccc;text-decoration:line-through;color:#8a3b3b}.fx-diff .tag2{display:block;font:700 .64rem Inter;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;margin-bottom:.15rem}
.fx-diff.off .gone{display:none}
/* interview */
.fx-steps{display:flex;gap:.35rem;margin-bottom:.8rem}.fx-steps button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;font-family:inherit}.fx-steps button[aria-pressed=true]{background:var(--b);color:#fff;border-color:var(--b)}
.fx-bar{display:grid;grid-template-columns:104px 1fr 28px;gap:.6rem;align-items:center;font-size:.82rem;margin:.35rem 0}.fx-bar i{display:block;height:8px;border-radius:5px;background:var(--line);overflow:hidden}.fx-bar i u{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--b),#06b6d4);border-radius:5px;transform-origin:left;transition:width .7s}
.js .fx-bar i u{width:0}.fx-stage.in .fx-bar i u{width:var(--w)}
/* roadmap + negotiation */
.fx-road{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.fx-road label{display:flex;gap:.6rem;align-items:center;padding:.55rem .7rem;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:.88rem;background:#fff}.fx-road input{accent-color:var(--b);width:18px;height:18px}.fx-road input:checked+span{text-decoration:line-through;color:var(--mut)}
.fx-prog{height:8px;background:var(--line);border-radius:5px;overflow:hidden;margin:.7rem 0 .2rem}.fx-prog u{display:block;height:100%;width:0;background:var(--ok);transition:width .4s}
.fx-range{display:flex;align-items:center;gap:.8rem;margin-top:.6rem}.fx-range .rail{flex:1;height:10px;border-radius:6px;background:var(--line);position:relative}.fx-range .rail u{position:absolute;left:40%;width:42%;top:0;bottom:0;background:linear-gradient(90deg,#3b82f6,var(--ok));border-radius:6px}
/* tracker */
.fx-board{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.fx-board .fx-col{background:#f7f8ff;border-radius:14px;padding:.6rem;min-height:170px}.fx-board h4{font:700 .7rem Inter;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:0 0 .5rem}
.fx-tk{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;font-size:.78rem;margin-bottom:.4rem;box-shadow:0 4px 10px rgba(50,50,140,.06)}.fx-tk b{display:block}.fx-tk.go{animation:fxpop .6s both}
@keyframes fxpop{from{transform:translateY(-6px);opacity:0}}
/* tool tiles */
.fx-tile{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.3rem;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:inherit;transition:.2s}.fx-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(50,50,140,.12);border-color:#cfcbff}
.fx-tile .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;background:linear-gradient(135deg,#eef0ff,#e0f2fe)}.fx-tile h3{font-size:1.05rem;margin:.2rem 0 0}.fx-tile p{margin:0;color:var(--mut);font-size:.88rem}.fx-tile .go{margin-top:auto;font-weight:600;font-size:.85rem;color:var(--bd)}
/* trust */
.fx-promise{border-radius:22px;background:linear-gradient(135deg,#232a52,#3b3f9e);color:#fff;padding:2rem}.fx-promise p{color:#d8dcff}.fx-promise .fx-chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
.fx-promise h3{font-size:1.1rem}.fx-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.4rem}.fx-pillars>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:1rem}
/* plans */
.fx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.fx-table th,.fx-table td{padding:.7rem .9rem;border-bottom:1px solid var(--line);text-align:center}.fx-table th:first-child,.fx-table td:first-child{text-align:left}.fx-table thead th{background:#f7f8ff;font-family:Sora}.fx-table tr:last-child td{border-bottom:0}.fx-table .y{color:var(--ok);font-weight:700}.fx-table .n{color:#b6b9cc}
.fx-wrap{overflow-x:auto}
@media (max-width:767px){.fx-float{min-height:0;display:grid;gap:.8rem}.fx-card{position:static;width:auto!important;animation:none}.fx-board{grid-template-columns:repeat(2,1fr)}.fx-split{grid-template-columns:1fr}.fx-chap{padding:3rem 0}}
@media (prefers-reduced-motion:reduce){.fx-card{animation:none}.fx-tk.go{animation:none}.fx-bar i u{transition:none}}
