/* Axionis funnel — shared styles (public /start/ and internal /start-internal/) */
body{ min-height:100svh; display:flex; flex-direction:column; }
.bgbolt path{ opacity:.07; }
.nav{ position:sticky; top:0; inset:auto; }
.fmain{ flex:1; display:flex; align-items:center; justify-content:center; padding:34px 0 80px; position:relative; z-index:1; }
.funnel{ width:100%; max-width:840px; }
.fbar{ height:4px; background:var(--hair-2); border-radius:4px; overflow:hidden; margin-bottom:38px; }
.fbar__fill{ height:100%; width:0; background:linear-gradient(90deg,var(--ember),var(--ember-2)); box-shadow:0 0 12px var(--ember-glow); transition:width .5s var(--ease); }
.fstep.in-right{ animation:slin-r .5s var(--ease) both; }
.fstep.in-left{ animation:slin-l .5s var(--ease) both; }
.fstep.out-left{ animation:slout-l .34s var(--ease) both; }
.fstep.out-right{ animation:slout-r .34s var(--ease) both; }
@keyframes slin-r{ from{opacity:0; transform:translateX(56px)} to{opacity:1; transform:none} }
@keyframes slin-l{ from{opacity:0; transform:translateX(-56px)} to{opacity:1; transform:none} }
@keyframes slout-l{ from{opacity:1; transform:none} to{opacity:0; transform:translateX(-56px)} }
@keyframes slout-r{ from{opacity:1; transform:none} to{opacity:0; transform:translateX(56px)} }
.fkicker{ font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--ember); margin-bottom:16px; }
.fq{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(30px,4.8vw,48px); letter-spacing:-.02em; line-height:1.08; }
.fhelp{ color:var(--ash); font-size:16.5px; margin-top:14px; max-width:56ch; }
.fopts{ display:grid; gap:15px; margin-top:34px; }
.fopt{ text-align:left; border:1px solid var(--hair); background:linear-gradient(180deg,var(--coal),var(--obsidian)); color:var(--bone);
  border-radius:16px; padding:23px 26px; font-size:18px; font-weight:500; cursor:pointer; transition:.3s; display:flex; align-items:center; gap:15px; }
.fopt:hover{ border-color:var(--ember-line); transform:translateY(-2px); }
.fopt.sel{ border-color:var(--ember); background:var(--ember-soft); }
.fopt__tick{ width:24px; height:24px; border-radius:50%; border:1.5px solid var(--hair); flex:none; display:grid; place-items:center; }
.fopt.sel .fopt__tick{ border-color:var(--ember); background:var(--ember); }
.fopt.sel .fopt__tick::after{ content:""; width:8px; height:8px; border-radius:50%; background:#160b07; }
/* multi-select = square checkboxes (signals "pick several") */
.fopt--multi .fopt__tick{ border-radius:7px; }
.fopt--multi.sel .fopt__tick::after{ width:11px; height:7px; border-radius:0; background:none; border:2px solid #160b07; border-top:0; border-right:0; transform:translateY(-2px) rotate(-45deg); }
/* image option tiles (e.g. vibe) */
.fimg-opts{ display:grid; grid-template-columns:repeat(2,1fr); gap:15px; margin-top:34px; }
@media(min-width:640px){ .fimg-opts{ grid-template-columns:repeat(3,1fr); } }
.fimg-opt{ border:1px solid var(--hair); border-radius:16px; overflow:hidden; cursor:pointer; background:var(--coal); transition:.3s; text-align:left; padding:0; color:var(--bone); }
.fimg-opt:hover{ transform:translateY(-3px); border-color:var(--ember-line); }
.fimg-opt.sel{ border-color:var(--ember); box-shadow:0 0 0 1px var(--ember); }
.fimg-opt img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.fimg-opt b{ display:block; padding:14px 16px; font-size:15.5px; font-weight:600; }
/* palette cards */
.fpals{ display:grid; gap:15px; margin-top:34px; }
.fpal{ border:1px solid var(--hair); border-radius:16px; padding:18px; cursor:pointer; transition:.3s; display:flex; align-items:center; gap:18px; background:linear-gradient(180deg,var(--coal),var(--obsidian)); }
.fpal:hover{ transform:translateY(-2px); border-color:var(--ember-line); }
.fpal.sel{ border-color:var(--ember); box-shadow:0 0 0 1px var(--ember); }
.fpal__sw{ display:flex; border-radius:10px; overflow:hidden; flex:none; box-shadow:0 6px 16px -8px rgba(0,0,0,.6); }
.fpal__sw i{ width:42px; height:58px; display:block; }
.fpal__n b{ font-size:16.5px; } .fpal__n span{ display:block; color:var(--ash); font-size:13px; margin-top:4px; }
@media(max-width:520px){ .fpal__sw i{ width:32px; height:48px; } }
/* internal build brief */
.fbrief{ border:1px solid var(--hair); border-radius:18px; padding:26px; background:var(--obsidian-2); margin-top:24px; white-space:pre-wrap; font-family:'Space Grotesk',ui-monospace,monospace; font-size:14px; color:var(--bone-dim); line-height:1.75; }
.ffield{ width:100%; margin-top:10px; background:var(--coal); border:1px solid var(--hair); border-radius:16px; color:var(--bone);
  font-family:inherit; font-size:18px; padding:20px 22px; }
.ffield:focus{ outline:none; border-color:var(--ember-line); }
textarea.ffield{ min-height:140px; resize:vertical; }
.fgrid2{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
@media(max-width:560px){ .fgrid2{ grid-template-columns:1fr; } }
.fnavbtns{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:38px; }
.fback{ background:none; border:0; color:var(--ash); font-size:15px; cursor:pointer; }
.fback:hover{ color:var(--bone); }
.faddon{ display:flex; align-items:center; gap:16px; border:1px solid var(--hair); border-radius:16px; padding:20px 24px; background:linear-gradient(180deg,var(--coal),var(--obsidian)); }
.faddon.sel{ border-color:var(--ember-line); }
.faddon__t{ flex:1; }
.faddon__t b{ font-weight:600; font-size:17px; }
.faddon__t span{ display:block; color:var(--ash); font-size:14px; margin-top:4px; }
.faddon__price{ color:var(--ember); font-weight:600; font-size:16px; white-space:nowrap; }
.fqty{ display:flex; align-items:center; gap:9px; }
.fqty button{ width:34px; height:34px; border-radius:9px; border:1px solid var(--hair); background:var(--coal); color:var(--bone); font-size:19px; cursor:pointer; }
.fqty span{ min-width:22px; text-align:center; font-weight:600; }
.ftoggle{ width:50px; height:29px; border-radius:999px; border:1px solid var(--hair); background:var(--coal); position:relative; cursor:pointer; flex:none; transition:.3s; }
.ftoggle::after{ content:""; position:absolute; top:2px; left:2px; width:23px; height:23px; border-radius:50%; background:var(--ash); transition:.3s; }
.faddon.sel .ftoggle{ background:var(--ember); border-color:var(--ember); }
.faddon.sel .ftoggle::after{ left:23px; background:#160b07; }
/* add-on clustering + highlight badges */
.faddon__group{ margin:32px 0 14px; color:var(--ember); font-weight:700; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.faddon__group + .fopts{ margin-top:0; }
.faddon__badge{ display:inline-block; margin-left:10px; vertical-align:middle; font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--ember); background:var(--ember-soft); border:1px solid var(--ember-line); padding:2px 9px; border-radius:999px; }
.faddon--pick{ border-color:var(--ember-line); box-shadow:0 0 0 1px rgba(255,90,54,.12); }
/* live scarcity banner */
.fslots{ margin-top:24px; display:inline-flex; align-items:center; gap:11px; font-size:14px; color:var(--bone); background:var(--ember-soft); border:1px solid var(--ember-line); border-radius:999px; padding:10px 18px; }
.fslots b{ color:var(--ember); }
.fslots__dot{ width:9px; height:9px; border-radius:50%; background:var(--ember); flex:none; animation:fslotpulse 2s infinite; }
.fslots__dot--full{ background:#ff6a4d; animation:none; }
@keyframes fslotpulse{ 0%{box-shadow:0 0 0 0 rgba(255,90,54,.5)} 70%{box-shadow:0 0 0 8px rgba(255,90,54,0)} 100%{box-shadow:0 0 0 0 rgba(255,90,54,0)} }
.fpricebar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:30px; border-top:1px solid var(--hair); padding-top:20px; }
.fpricebar b{ font-family:'Space Grotesk',sans-serif; font-size:30px; color:var(--ember); }
.fsum{ border:1px solid var(--hair); border-radius:18px; padding:30px; background:linear-gradient(180deg,var(--coal),var(--obsidian)); margin-top:26px; }
.fsumrow{ display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--hair-2); font-size:16px; }
.fsumrow:last-child{ border:0; }
.fsumtotal{ display:flex; justify-content:space-between; align-items:baseline; margin-top:16px; padding-top:16px; border-top:1px solid var(--hair); }
.fsumtotal b{ font-family:'Space Grotesk',sans-serif; font-size:38px; color:var(--ember); }
.finc{ list-style:none; display:grid; gap:9px; margin:14px 0 0; }
.finc li{ position:relative; padding-left:26px; color:var(--bone-dim); font-size:15px; }
.finc li::before{ content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--ember); }
.fguar{ border:1px solid var(--ember-line); border-radius:14px; padding:18px 22px; margin-top:22px; font-size:15.5px; color:var(--bone-dim); background:radial-gradient(120% 120% at 100% 0%, var(--ember-soft), transparent 55%); }
.fbank code{ font-family:'Space Grotesk',sans-serif; color:var(--bone); font-size:17px; }
.ferr{ color:var(--ember); font-size:15px; margin-top:12px; }
