/* Merriweather Holdings — dossier console (hub tiles + windows).
   Design rule: quiet at rest, precise on interaction. Craft over noise. */
@property --ix-l{syntax:"<length>";inherits:true;initial-value:10px}

/* pre-JS guard: sections hidden only while the console script is about to move them */
html.has-ix:not(.has-ix-ready) :is(#proof,#services,#plans,#method,#capabilities,#products,#fabric,#neural,#ops,#about,#contact){display:none}
html.has-ix-lock{overflow:hidden;scrollbar-gutter:stable}
.ix-vault{display:none}
.mono{font-family:var(--mono)}

/* ── hub ── */
.ix-hub{position:relative;padding:84px 0 28px}
.ix-hub-head{max-width:820px;margin-bottom:30px}
.ix-hub .eyebrow{color:#a855f7}
.ix-h{font-size:clamp(28px,3.8vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:10px 0 14px}
.ix-h .g{background:linear-gradient(100deg,#ff2b3d,#c026d3 55%,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}
.ix-sub{color:var(--muted);font-size:17px;max-width:680px}
.ix-keys{margin-top:16px;font-size:10.5px;letter-spacing:.14em;color:var(--dim)}
@media(hover:none){.ix-keys{display:none}}
.ix-hub kbd,.ixk kbd{font-family:var(--mono);border:1px solid var(--line2);border-bottom-width:2px;border-radius:5px;padding:0 6px;color:#cdbbf5;background:rgba(168,85,247,.06)}

.ix-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ix-tile{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;
  position:relative;display:flex;flex-direction:column;gap:8px;min-height:196px;padding:20px;overflow:hidden;
  color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,var(--panel),var(--bg2));
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift,0px));
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .3s,--ix-l .3s;
  opacity:0}
.ix-tile.ix-in{opacity:1;animation:ix-in .7s cubic-bezier(.16,1,.3,1) backwards;animation-delay:var(--d,0s)}
@keyframes ix-in{from{opacity:0;transform:translateY(14px)}to{opacity:1}}
.ix-tile:hover,.ix-tile:focus-visible{--lift:-3px;--ix-l:22px;border-color:rgba(168,85,247,.5);box-shadow:0 22px 50px -28px rgba(192,38,211,.4);outline:none}
/* hover-only corner brackets */
.ix-tile::before{content:"";position:absolute;inset:8px;pointer-events:none;opacity:0;transition:opacity .25s;
  --b:1.5px;--c:rgba(168,85,247,.75);
  background:
    linear-gradient(var(--c),var(--c)) top left/var(--ix-l) var(--b) no-repeat,
    linear-gradient(var(--c),var(--c)) top left/var(--b) var(--ix-l) no-repeat,
    linear-gradient(var(--c),var(--c)) top right/var(--ix-l) var(--b) no-repeat,
    linear-gradient(var(--c),var(--c)) top right/var(--b) var(--ix-l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom left/var(--ix-l) var(--b) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom left/var(--b) var(--ix-l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom right/var(--ix-l) var(--b) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom right/var(--b) var(--ix-l) no-repeat}
.ix-tile:hover::before,.ix-tile:focus-visible::before{opacity:1}
/* soft spotlight following the pointer */
.ix-tile::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(380px circle at var(--mx) var(--my),rgba(192,38,211,.14),transparent 62%)}
.ix-tile:hover::after{opacity:1}

.ix-big{position:absolute;right:14px;top:4px;font-size:68px;font-weight:800;line-height:1;color:rgba(168,85,247,.07);pointer-events:none}
.ix-top{display:flex;align-items:center;gap:10px}
.ix-idx{font-size:10.5px;letter-spacing:.2em;color:var(--dim)}
.ix-tag{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.16em;padding:2px 9px;border:1px solid rgba(255,43,61,.4);border-radius:999px;color:#ff6b78}
.ix-tag i{width:6px;height:6px;border-radius:50%;background:#ff2b3d;animation:ix-pulse 2s ease-in-out infinite}
@keyframes ix-pulse{50%{opacity:.35}}
.ix-t{font-size:19px;font-weight:800;letter-spacing:.02em;margin-top:6px}
.ix-d{color:var(--muted);font-size:14px;line-height:1.5}
.ix-ro{margin-top:auto;font-size:11px;letter-spacing:.06em;color:#7fe0d6;opacity:.85}
.ix-go{font-size:10.5px;letter-spacing:.18em;color:var(--dim);transition:color .25s,transform .25s}
.ix-tile:hover .ix-go{color:#ff6b78;transform:translateX(4px)}

.ix-tile.ix-ai{grid-column:span 2;border-color:rgba(168,85,247,.38);
  background:radial-gradient(120% 140% at 100% 0%,rgba(192,38,211,.12),transparent 55%),linear-gradient(180deg,var(--panel),var(--bg2))}
.ix-tile.ix-contact{grid-column:span 3;min-height:0;flex-direction:row;align-items:center;gap:22px;
  border-color:rgba(255,43,61,.35);background:linear-gradient(100deg,rgba(255,43,61,.1),rgba(192,38,211,.08) 55%,var(--bg2))}
.ix-tile.ix-contact .ix-big{display:none}
.ix-tile.ix-contact .ix-d{flex:1;margin:0}
.ix-tile.ix-contact .ix-ro{margin:0}
@media(max-width:1000px){.ix-grid{grid-template-columns:repeat(2,1fr)}.ix-tile.ix-ai,.ix-tile.ix-contact{grid-column:1/-1}}
@media(max-width:600px){.ix-grid{grid-template-columns:1fr}.ix-tile{min-height:0}.ix-tile.ix-contact{flex-direction:column;align-items:flex-start;gap:8px}.ix-hub{padding-top:60px}}

/* ── window ── */
.ix{position:fixed;inset:0;z-index:500;display:none}
.ix.open{display:block}
.ix-back{position:absolute;inset:0;background:rgba(3,5,9,0);transition:background .5s,backdrop-filter .5s}
.ix.show .ix-back{background:rgba(3,5,9,.8);backdrop-filter:blur(9px) saturate(1.2);-webkit-backdrop-filter:blur(9px) saturate(1.2)}
.ix-win{position:absolute;inset:clamp(10px,2.2vh,26px) clamp(10px,3vw,44px);display:flex;flex-direction:column;overflow:hidden;outline:none;
  border:1px solid rgba(168,85,247,.35);border-radius:16px;
  background:linear-gradient(180deg,rgba(11,15,22,.98),rgba(7,10,15,.99));
  box-shadow:inset 0 0 70px rgba(168,85,247,.04);
  clip-path:circle(0 at var(--ox,50%) var(--oy,50%));transition:clip-path .7s cubic-bezier(.16,1,.3,1)}
.ix.show .ix-win{clip-path:circle(170% at var(--ox,50%) var(--oy,50%))}
/* faint scan band + grain: present, not shouting */
.ix-win::before{content:"";position:absolute;left:0;right:0;top:0;height:160px;pointer-events:none;z-index:6;
  background:linear-gradient(180deg,transparent,rgba(168,85,247,.05),transparent);transform:translateY(-160px);animation:ix-sweep 10s linear infinite}
@keyframes ix-sweep{to{transform:translateY(110vh)}}
.ix-win::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:7;opacity:.28;mix-blend-mode:soft-light;
  background:radial-gradient(120% 90% at 50% 40%,transparent 62%,rgba(0,0,0,.4)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/></svg>")}

.ix-bar{position:relative;z-index:8;display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line2);background:rgba(8,11,17,.92)}
.ix-leds{display:flex;gap:6px}
.ix-leds i{width:8px;height:8px;border-radius:50%;background:#ff2b3d}
.ix-leds i:nth-child(2){background:#c026d3}.ix-leds i:nth-child(3){background:#a855f7}
.ix-ttl{flex:1;min-width:0;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ix-meta{display:flex;gap:16px;font-size:10px;letter-spacing:.14em;color:var(--dim)}
.ix-x{font-size:10.5px;letter-spacing:.14em;color:var(--muted);background:none;border:1px solid var(--line2);border-radius:7px;padding:5px 10px;cursor:pointer;transition:.2s}
.ix-x:hover{color:var(--ink);border-color:#ff2b3d}
@media(max-width:760px){.ix-meta{display:none}}

.ix-boot{position:relative;z-index:8;max-height:110px;overflow:hidden;padding:10px 18px 12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em;color:#7fe0d6;
  transition:max-height .45s,opacity .35s,padding .45s}
.ix.ready .ix-boot{max-height:0;opacity:0;padding-top:0;padding-bottom:0;border-bottom-width:0}
.ix-bl div{opacity:0;animation:ix-ln .25s forwards}
.ix-bl b{color:#34d399;font-weight:700}
@keyframes ix-ln{to{opacity:1}}
.ix-bp{height:2px;margin-top:8px;background:var(--line2)}
.ix-bp i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff2b3d,#c026d3,#a855f7);transition:width .75s cubic-bezier(.5,0,.2,1)}

/* AI file: connection sequence + VRAM weight map */
.ix-boot:not(.ai) .ix-wt{display:none}
.ix.aiboot .ix-body{display:none}
.ix-boot.ai{flex:1;max-height:none;overflow:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  grid-template-rows:auto auto;gap:18px 22px;align-content:start;padding:26px 28px;cursor:pointer;transition:opacity .25s}
.ix-boot.ai .ix-wt{grid-column:1;grid-row:1;width:100%;height:min(48vh,400px);border:1px solid var(--line);border-radius:10px;background:rgba(5,7,11,.55)}
.ix-boot.ai .ix-bl{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:7px;font-size:11.5px;letter-spacing:.04em;color:var(--muted);padding-top:4px}
.ix-boot.ai .ix-bp{grid-column:1/-1;grid-row:2;margin-top:0}
.ix-boot.ai{overflow-x:hidden}
.ix-boot.ai .ix-bl{min-width:0}
.ix-bl .l{display:flex;align-items:baseline;gap:8px;min-width:0}
.ix-bl .l .k{color:#c9d2de;white-space:nowrap;flex:none}
.ix-bl .l .f{flex:1;min-width:14px;border-bottom:1px dotted var(--line2);transform:translateY(-3px)}
.ix-bl .l .v{color:#7fe0d6;text-align:right;min-width:0;max-width:72%;overflow-wrap:anywhere}
.ix-bl .l.warn .v{color:#f5b84b}
.ix-bl .l.ok .v{color:#34d399;font-weight:700}
@media(max-width:860px){
  .ix-boot.ai{grid-template-columns:1fr;padding:18px}
  .ix-boot.ai .ix-wt{grid-column:1;grid-row:1;height:170px}
  .ix-boot.ai .ix-bl{grid-column:1;grid-row:2}
  .ix-boot.ai .ix-bp{grid-row:3}
  .ix-bl .l .v{white-space:normal}
}

.ix-body{position:relative;z-index:2;flex:1;overflow:auto;overscroll-behavior:contain;
  opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;
  background-image:linear-gradient(rgba(168,85,247,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.03) 1px,transparent 1px);background-size:44px 44px;
  scrollbar-width:thin;scrollbar-color:rgba(168,85,247,.4) transparent}
.ix.ready .ix-body{opacity:1;transform:none}
.ix-body > section{padding:52px 0 60px !important;background:transparent !important}
.ix-body > section + section{border-top:1px solid var(--line)}

.ix-foot{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--line2);background:rgba(8,11,17,.92);font-size:10.5px;letter-spacing:.14em;color:var(--dim)}
.ix-foot button{font:inherit;letter-spacing:inherit;color:var(--muted);background:none;border:1px solid var(--line2);border-radius:7px;padding:6px 12px;cursor:pointer;transition:.2s}
.ix-foot button:hover{color:var(--ink);border-color:#a855f7}
@media(max-width:760px){.ix-win{inset:0;border-radius:0;border-width:0}}

/* ── plans ── */
.plans{align-items:stretch}
.plan{display:flex;flex-direction:column;gap:10px}
.plan .eyebrow{color:#a855f7}
.plan .price{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1}
.plan .price .sm{font-size:14px;font-weight:500;color:var(--dim);letter-spacing:0}
.plan .fit{color:var(--muted);font-size:14px;margin:0 0 4px}
.plan .chk{margin:0 0 8px;flex:1}
.plan .btn{align-self:flex-start;margin-top:auto}
.plan.feat{border-color:rgba(168,85,247,.55);box-shadow:0 0 50px -26px #a855f7}
.plan .rec{display:inline-block;align-self:flex-start;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#7fe0d6;border:1px solid rgba(127,224,214,.4);border-radius:999px;padding:2px 9px}
.plans-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.plans-steps div{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--panel);color:var(--muted);font-size:14px}
.plans-steps b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.plans-steps i{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#a855f7;margin-right:8px}
.plans-note{margin-top:16px;color:var(--dim);font-size:13px}
@media(max-width:760px){.plans-steps{grid-template-columns:1fr}}

/* ── command prompt ── */
.ixk{position:fixed;inset:0;z-index:700;display:flex;align-items:flex-start;justify-content:center;padding-top:16vh;background:rgba(3,5,9,.6);backdrop-filter:blur(5px)}
.ixk[hidden]{display:none}
.ixk-box{width:min(560px,92vw);border:1px solid rgba(168,85,247,.4);border-radius:12px;background:rgba(10,13,20,.97);box-shadow:0 30px 80px -20px rgba(0,0,0,.8);overflow:hidden}
.ixk-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.ixk-ps{color:#7fe0d6;font-size:12.5px;white-space:nowrap}
.ixk-row input{flex:1;background:none;border:0;outline:0;color:var(--ink);font-size:14px}
.ixk-box ul{list-style:none;margin:0;padding:6px;max-height:280px;overflow:auto}
.ixk-box li{padding:9px 12px;border-radius:7px;font-size:13px;color:var(--muted);cursor:pointer}
.ixk-box li.on{background:rgba(168,85,247,.14);color:var(--ink)}
.ixk-box li.dim{color:var(--dim);cursor:default}
.ixk-h{padding:9px 16px;border-top:1px solid var(--line2);font-size:10px;letter-spacing:.12em;color:var(--dim)}

/* ── reduced motion: no decoration, instant states ── */
@media(prefers-reduced-motion:reduce){
  .ix-tile,.ix-tile.ix-in{animation:none;transition:none;opacity:1}
  .ix-win{clip-path:none;transition:none}
  .ix-win::before{display:none}
  .ix-body{opacity:1;transform:none;transition:none}
  .ix-tag i{animation:none}
}
