/* THESIVE v3.2.4 · Companion product-language alignment
   Presentation only: no recommendation, sizing, approval or execution semantics. */

.companion-product-stage,
.home-companion-context{
  --cx-gold:#C9A85C;
  --cx-panel:#0c1012;
  --cx-panel-2:#101518;
  --cx-line:rgba(255,255,255,.09);
  --cx-muted:#879094;
  --cx-ink:#e8e5df;
  font-family:Manrope,"Avenir Next","Segoe UI Variable","Helvetica Neue",Arial,sans-serif;
}
.companion-product-stage [hidden]{display:none!important}

/* Primary product showcase: Tablet is the richest reference composition. */
.companion-product-stage{
  position:relative;
  min-height:820px;
  margin-top:30px;
  padding:18px 0 112px;
  isolation:isolate;
  overflow:hidden;
}
.companion-stage-aura{
  position:absolute;
  inset:7% 6% 18%;
  z-index:-1;
  background:radial-gradient(ellipse at 48% 44%,rgba(201,168,92,.095),rgba(201,168,92,.025) 40%,transparent 68%);
  filter:blur(18px);
}
.cx-tablet-device{
  position:relative;
  width:91%;
  aspect-ratio:1.57;
  padding:12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:28px;
  background:linear-gradient(135deg,#36393b 0,#0c0e10 4%,#020304 96%,#292c2e 100%);
  box-shadow:0 54px 100px rgba(0,0,0,.72),inset 0 0 0 1px rgba(255,255,255,.06);
  transform:perspective(1400px) rotateX(1.3deg) rotateY(1.8deg);
  transform-origin:50% 80%;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.cx-tablet-camera{
  position:absolute;
  top:5px;
  left:50%;
  z-index:3;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#08090a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.cx-tablet-screen{
  height:100%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  color:var(--cx-ink);
  background:
    radial-gradient(circle at 40% 24%,rgba(201,168,92,.045),transparent 31%),
    linear-gradient(150deg,#080b0d,#060809 58%,#090c0e);
}
.cx-product-topbar{
  height:9.5%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 2.2%;
  border-bottom:1px solid var(--cx-line);
  background:rgba(4,6,7,.72);
}
.cx-product-brand{display:flex;align-items:center;gap:9px}
.cx-product-brand>span:last-child{display:grid}
.cx-product-brand b{font-size:9px;letter-spacing:.24em;font-weight:650}
.cx-product-brand small{font-size:4.6px;letter-spacing:.18em;color:var(--cx-gold)}
.cx-brand-geometry{
  position:relative;
  width:28px;
  height:28px;
  border:1px solid rgba(201,168,92,.54);
  border-radius:8px 14px 9px 13px;
  transform:rotate(12deg);
}
.cx-brand-geometry:before,.cx-brand-geometry:after{content:"";position:absolute;border:1px solid rgba(201,168,92,.28);inset:5px;transform:rotate(31deg)}
.cx-brand-geometry:after{inset:10px;border-color:rgba(255,255,255,.22);transform:rotate(-18deg)}
.cx-authority-principle{display:flex;align-items:center;gap:7px;font-size:5px;letter-spacing:.12em;color:#727b7f}
.cx-authority-principle i{width:5px;height:5px;border-radius:50%;background:var(--cx-gold);box-shadow:0 0 10px rgba(201,168,92,.35)}
.cx-authority-principle b{font-size:5px;color:var(--cx-gold);font-weight:650}
.cx-product-shell{height:90.5%;display:grid;grid-template-columns:14.5% 1fr}
.cx-product-nav{display:flex;flex-direction:column;gap:4px;padding:3.6% 8%;border-right:1px solid var(--cx-line);background:rgba(2,4,5,.6)}
.cx-product-nav>span{padding:7px 8px;border:1px solid transparent;border-radius:6px;color:#667075;font-size:6px}
.cx-product-nav>span.active{border-color:rgba(201,168,92,.19);background:rgba(201,168,92,.045);color:var(--cx-gold)}
.cx-nav-boundary{margin-top:auto;padding:9px 8px;border-left:1px solid rgba(201,168,92,.32);background:rgba(201,168,92,.025)}
.cx-nav-boundary small{display:block;color:#75694f;font-size:4px;letter-spacing:.12em}
.cx-nav-boundary b{display:block;margin-top:4px;color:#b6b2aa;font-size:5px;line-height:1.35;font-weight:550}
.cx-companion-workspace{min-width:0;padding:2%;display:grid;grid-template-rows:31% 39% 12% 13%;gap:1.6%}
.cx-presence-panel{display:grid;grid-template-columns:28% 1fr;align-items:center;gap:4%;min-height:0}
.cx-presence{position:relative;width:108px;aspect-ratio:1;margin:auto;display:grid;place-items:center;transition:filter .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.cx-presence b{position:relative;z-index:3;width:24%;aspect-ratio:1;border:1px solid rgba(201,168,92,.72);border-radius:7px 11px 8px 12px;background:#0b0f11;transform:rotate(18deg);box-shadow:0 0 18px rgba(201,168,92,.06)}
.cx-plane{position:absolute;border:1px solid rgba(201,168,92,.3);transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .6s ease}
.cx-plane.plane-a{inset:15%;border-radius:16px 31px 18px 28px;transform:rotate(14deg)}
.cx-plane.plane-b{inset:29%;border-color:rgba(255,255,255,.16);border-radius:13px 20px 15px 19px;transform:rotate(-24deg)}
.cx-plane.plane-c{inset:4%;border-color:rgba(201,168,92,.14);border-radius:34px 44px 32px 49px;transform:rotate(39deg)}
.cx-node{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cx-gold);box-shadow:0 0 9px rgba(201,168,92,.42);transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .5s ease}
.cx-node.node-a{left:6%;top:44%}.cx-node.node-b{right:11%;top:18%}.cx-node.node-c{right:2%;bottom:20%}
.cx-stage-message{max-width:500px}
.cx-stage-message small{display:block;color:var(--cx-gold);font-size:7px;letter-spacing:.14em;text-transform:uppercase}
.cx-stage-message h2{font-family:Manrope,"Avenir Next",sans-serif;font-size:19px;line-height:1.15;font-weight:590;letter-spacing:-.025em;margin:7px 0 6px}
.cx-stage-message p{max-width:430px;margin:0;color:#899195;font-size:8px;line-height:1.55}
.cx-context-panel{min-height:0;padding:1.4%;border:1px solid var(--cx-line);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.018),rgba(255,255,255,.004));opacity:.14;transform:translateY(4px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.cx-context-head{display:flex;justify-content:space-between;padding-bottom:1.1%;border-bottom:1px solid rgba(255,255,255,.055)}
.cx-context-head span{color:var(--cx-gold);font-size:5.2px;letter-spacing:.14em}.cx-context-head em{font-size:4.6px;font-style:normal;color:#60696d}
.cx-context-grid{height:calc(100% - 16px);display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:5px;padding-top:5px}
.cx-context-grid article{padding:7px;border:1px solid rgba(255,255,255,.055);border-radius:6px;background:rgba(255,255,255,.008);overflow:hidden}
.cx-context-grid .cx-context-primary{grid-row:1/3}
.cx-context-grid small{display:block;color:#71664e;font-size:4.3px;letter-spacing:.09em}
.cx-context-grid b{display:block;margin-top:4px;color:#c8c4bd;font-size:5.5px;line-height:1.4;font-weight:560}
.cx-context-grid p{margin:5px 0 0;color:#737c80;font-size:4.8px;line-height:1.48}
.cx-intelligence-rail{position:relative;display:grid;grid-template-columns:repeat(8,1fr);align-items:start;gap:2px;list-style:none;padding:0;margin:0;opacity:.16;transition:opacity .6s ease}
.cx-intelligence-rail:before{content:"";position:absolute;left:5%;right:5%;top:5px;height:1px;background:linear-gradient(90deg,rgba(201,168,92,.15),rgba(201,168,92,.46),rgba(201,168,92,.15));transform:scaleX(.1);transform-origin:left;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.cx-intelligence-rail li{position:relative;z-index:1;display:grid;justify-items:center;gap:5px;color:#6b7478;font-size:4px;text-align:center;line-height:1.2}
.cx-intelligence-rail i{width:10px;height:10px;border:2px solid #080a0c;border-radius:50%;background:#60696d;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.cx-intelligence-rail .active i,.cx-intelligence-rail .human i{background:var(--cx-gold);box-shadow:0 0 0 1px rgba(201,168,92,.42)}
.cx-intelligence-rail .human{color:#a99361;font-weight:650}
.cx-human-authority{display:flex;align-items:center;gap:14px;padding:0 12px;border:1px solid rgba(201,168,92,.19);border-radius:8px;background:linear-gradient(90deg,rgba(201,168,92,.035),rgba(255,255,255,.008));opacity:.24;transition:opacity .6s ease,border-color .6s ease}
.cx-human-authority span{display:grid}.cx-human-authority small{color:var(--cx-gold);font-size:4.5px;letter-spacing:.13em}.cx-human-authority b{color:#d7d3cc;font-size:6px;font-weight:560}
.cx-human-authority em{margin-left:auto;color:#6e777b;font-size:4.8px;font-style:normal}

.companion-product-stage[data-companion-stage="question"] .cx-plane.plane-a{transform:rotate(28deg) scale(1.06)}
.companion-product-stage[data-companion-stage="question"] .cx-plane.plane-b{transform:rotate(-9deg) scale(.94)}
.companion-product-stage[data-companion-stage="assembling"] .cx-plane.plane-a{transform:rotate(47deg) scale(1.08)}
.companion-product-stage[data-companion-stage="assembling"] .cx-plane.plane-b{transform:rotate(-42deg) scale(.88)}
.companion-product-stage[data-companion-stage="assembling"] .cx-node.node-a{transform:translate(18px,-7px)}
.companion-product-stage[data-companion-stage="assembling"] .cx-node.node-b{transform:translate(-16px,13px)}
.companion-product-stage[data-companion-stage="assembling"] .cx-context-panel{opacity:.54;transform:none}
.companion-product-stage[data-companion-stage="explaining"] .cx-plane.plane-a{transform:rotate(64deg) scale(.94)}
.companion-product-stage[data-companion-stage="explaining"] .cx-plane.plane-b{transform:rotate(-8deg) scale(1.08)}
.companion-product-stage[data-companion-stage="explaining"] .cx-context-panel,
.companion-product-stage[data-companion-stage="explaining"] .cx-intelligence-rail{opacity:1;transform:none}
.companion-product-stage[data-companion-stage="explaining"] .cx-intelligence-rail:before,
.companion-product-stage[data-companion-stage="judgement"] .cx-intelligence-rail:before{transform:scaleX(1)}
.companion-product-stage[data-companion-stage="judgement"] .cx-presence{transform:scale(.96);filter:drop-shadow(0 0 18px rgba(201,168,92,.08))}
.companion-product-stage[data-companion-stage="judgement"] .cx-context-panel,
.companion-product-stage[data-companion-stage="judgement"] .cx-intelligence-rail,
.companion-product-stage[data-companion-stage="judgement"] .cx-human-authority{opacity:1;transform:none}
.companion-product-stage[data-companion-stage="judgement"] .cx-human-authority{border-color:rgba(201,168,92,.48)}

.cx-phone-device{
  position:absolute;
  right:0;
  bottom:116px;
  z-index:4;
  width:23%;
  aspect-ratio:.49;
  padding:8px 6px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:34px;
  background:linear-gradient(125deg,#343638,#060708 6% 94%,#2b2e30);
  box-shadow:0 42px 80px rgba(0,0,0,.78),inset 0 0 0 1px rgba(255,255,255,.06);
  transform:rotateY(-7deg) rotateX(2deg);
}
.cx-phone-island{position:absolute;z-index:3;top:13px;left:50%;width:31%;height:9px;transform:translateX(-50%);border-radius:999px;background:#020303}
.cx-phone-screen{height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:27px;padding:14% 8% 8%;text-align:center;background:radial-gradient(circle at 50% 25%,rgba(201,168,92,.055),transparent 29%),#07090b}
.cx-phone-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:7%;border-bottom:1px solid rgba(255,255,255,.055)}
.cx-phone-head b{font-size:7px;letter-spacing:.2em}.cx-phone-head span{font-size:4.4px;color:var(--cx-gold);letter-spacing:.08em}
.cx-mobile-presence{width:41%;margin:11% auto 7%}
.cx-mobile-presence .plane-c,.cx-mobile-presence .node-c{display:none}
.cx-phone-screen>small{display:block;color:var(--cx-gold);font-size:6px;letter-spacing:.1em;text-transform:uppercase}
.cx-phone-screen>strong{display:block;margin:5% auto 4%;font-size:12px;line-height:1.18;font-weight:570;letter-spacing:-.025em}
.cx-phone-screen>p{margin:0 auto;color:#7c8589;font-size:6.2px;line-height:1.5}
.cx-mobile-boundary{margin-top:9%;padding:7% 5%;border-left:1px solid var(--cx-gold);background:rgba(201,168,92,.025);color:#aaa69f;font-size:6px;text-align:left}
.cx-mobile-disclosures{display:grid;gap:4px;margin-top:5%;text-align:left}
.cx-mobile-disclosures>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:5% 5%;border:1px solid rgba(255,255,255,.052);border-radius:6px;background:rgba(255,255,255,.008);text-align:left}
.cx-mobile-disclosures small{display:block;color:#71664e;font-size:4.4px;letter-spacing:.08em;line-height:1.2}.cx-mobile-disclosures strong{display:block;color:#9e9a93;font-size:5px;line-height:1.4;font-weight:540}
.cx-mobile-rail{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:9%;font-size:4.5px;color:#666f73}
.cx-mobile-rail i{width:10px;height:1px;background:rgba(201,168,92,.34)}.cx-mobile-rail b{color:var(--cx-gold);font-size:4.5px;font-weight:600}
.cx-state-controls{position:absolute;left:3%;right:3%;bottom:47px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;z-index:6}
.cx-state-controls button{min-height:42px;padding:7px 8px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:rgba(7,9,11,.88);color:#737c80;font-size:7px;line-height:1.25;cursor:pointer;transition:border-color .3s ease,color .3s ease,background .3s ease}
.cx-state-controls button:hover,.cx-state-controls button:focus-visible{outline:2px solid rgba(201,168,92,.2);outline-offset:2px;border-color:rgba(201,168,92,.35);color:#c6c3bc}
.cx-state-controls button.active{border-color:rgba(201,168,92,.48);background:rgba(201,168,92,.045);color:var(--cx-gold)}
.cx-platform-badge{left:auto!important;right:3%!important;bottom:8px!important;color:#777f83!important}
.cx-platform-badge span{background:var(--cx-gold)!important;box-shadow:0 0 8px rgba(201,168,92,.3)!important}

/* Trust states: limitations and uncertainty are calm, not alarm theatre. */
.cx-trust-section{background:linear-gradient(180deg,#07090b,#090c0e 55%,#07090b)}
.cx-trust-heading{max-width:760px}
.cx-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cx-trust-card{position:relative;min-height:320px;padding:30px;border:1px solid var(--cx-line);border-radius:18px;background:linear-gradient(145deg,rgba(16,20,22,.95),rgba(8,10,12,.97));overflow:hidden}
.cx-trust-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 17% 20%,rgba(201,168,92,.045),transparent 32%);pointer-events:none}
.cx-branch-presence{position:relative;width:72px;height:72px;margin-bottom:25px}
.cx-branch-presence span{position:absolute;inset:8px;border:1px solid rgba(201,168,92,.35);border-radius:18px 28px 17px 25px;transform:rotate(22deg)}
.cx-branch-presence:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.15);border-radius:12px 20px 13px 18px;transform:rotate(-31deg)}
.cx-branch-presence i{position:absolute;width:6px;height:6px;border-radius:50%;background:#817150}.cx-branch-presence i:first-of-type{top:5px;left:8px}.cx-branch-presence i:last-child{right:4px;bottom:12px}
.cx-trust-card.uncertain .cx-branch-presence span{transform:rotate(22deg) translateX(-6px)}
.cx-trust-card.uncertain .cx-branch-presence:before{transform:rotate(-31deg) translateX(7px)}
.cx-trust-card>small{position:relative;color:var(--cx-gold);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.cx-trust-card h3{position:relative;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;margin:10px 0 12px}
.cx-trust-card p{position:relative;max-width:520px;margin:0;color:#8c9497;font-size:12px;line-height:1.65}
.cx-trust-detail{position:relative;display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.cx-trust-detail span{color:#74694f;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.cx-trust-detail b{color:#aaa69f;font-size:9px;font-weight:520;text-align:right}

/* Homepage: narrow synchronisation of the existing partner-product card. */
.home-companion-context{height:100%;padding:13px!important;background:radial-gradient(circle at 72% 12%,rgba(201,168,92,.055),transparent 31%),linear-gradient(145deg,#0e1215,#080a0c)!important}
.home-companion-window{height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#080b0d}
.home-companion-top{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid rgba(255,255,255,.06)}
.home-companion-top b{font-size:5.6px;letter-spacing:.13em;color:#b6b1a9}.home-companion-top span{font-size:4.4px;letter-spacing:.09em;color:var(--cx-gold)}
.home-companion-body{height:calc(100% - 28px);display:grid;grid-template-columns:78px 1fr}
.home-companion-presence{display:grid;align-content:center;justify-items:center;gap:11px;padding:8px;border-right:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.008)}
.home-companion-presence .cx-presence{width:56px}.home-companion-presence small{font-size:4.5px;line-height:1.35;text-align:center;color:var(--cx-gold);text-transform:uppercase;letter-spacing:.08em}
.home-context-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0;padding:9px}
.home-context-head{display:flex;justify-content:space-between;gap:7px}.home-context-head div{display:grid}.home-context-head small{font-size:4.1px;color:#74694f;letter-spacing:.1em}.home-context-head b{font-size:8px;font-weight:560;color:#d3cfc8}.home-context-head em{font-size:4.2px;font-style:normal;color:#6f777b}
.home-context-evidence{display:grid;grid-template-columns:1.2fr 1fr;gap:5px;margin-top:7px}
.home-context-evidence>div{border:1px solid rgba(255,255,255,.052);border-radius:7px;padding:6px;background:rgba(255,255,255,.008)}
.home-context-evidence small{display:block;font-size:3.8px;color:#74694f;letter-spacing:.08em}.home-context-evidence b{display:block;margin-top:4px;font-size:5px;line-height:1.38;color:#aaa69f;font-weight:540}
.home-context-evidence .home-evidence-stack{display:grid;gap:4px;border:0;padding:0;background:none}.home-evidence-stack span{display:block;border:1px solid rgba(255,255,255,.052);border-radius:6px;padding:5px}.home-evidence-stack small{color:#626b6f}.home-evidence-stack b{font-size:4.5px;margin-top:2px}
.home-authority-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:6px;border-left:1px solid var(--cx-gold);background:rgba(201,168,92,.025)}
.home-authority-line small{font-size:3.8px;letter-spacing:.1em;color:var(--cx-gold)}.home-authority-line b{font-size:4.8px;color:#b9b5ad;font-weight:540}

@media(max-width:1050px){
  .companion-product-stage{min-height:790px}
  .cx-tablet-device{width:100%;transform:none}
  .cx-phone-device{width:24%;right:1%;bottom:120px}
  .cx-product-nav{padding-inline:6%}
  .cx-state-controls{left:2%;right:2%}
}

@media(max-width:820px){
  .companion-product-stage{min-height:915px;padding-bottom:126px}
  .cx-tablet-device{width:100%;aspect-ratio:1.42;padding:10px;border-radius:24px}
  .cx-product-shell{grid-template-columns:13.5% 1fr}
  .cx-product-nav>span{padding:5px;font-size:5px}
  .cx-presence-panel{grid-template-columns:24% 1fr}
  .cx-presence{width:90px}
  .cx-context-grid b{font-size:5px}
  .cx-phone-device{width:27%;right:2%;bottom:132px}
  .cx-state-controls{grid-template-columns:repeat(3,1fr);bottom:40px}
  .cx-platform-badge{bottom:5px!important}
}

@media(max-width:620px){
  .partners-v30 .partner-stage-copy .display{font-size:clamp(44px,14vw,62px)}
  .companion-product-stage{width:100%;min-height:850px;padding:6px 0 154px;overflow:hidden;contain:paint}
  .cx-tablet-device{display:none}
  .cx-phone-device{position:relative;right:auto;bottom:auto;width:min(78vw,304px);max-width:calc(100vw - 48px);margin:0 auto;transform:none}
  .cx-phone-screen>small{font-size:7.5px}.cx-phone-screen>strong{font-size:17px}.cx-phone-screen>p{font-size:8px}.cx-mobile-boundary{font-size:8px}.cx-mobile-disclosures small{font-size:5.8px}.cx-mobile-disclosures strong{font-size:6.6px}.cx-mobile-rail,.cx-mobile-rail b{font-size:5.5px}
  .cx-state-controls{left:4px;right:4px;bottom:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .cx-state-controls button{min-height:37px;font-size:7px;padding:5px}
  .cx-state-controls button:last-child{grid-column:1/-1}
  .cx-platform-badge{display:none}
  .cx-trust-grid{grid-template-columns:1fr}.cx-trust-card{min-height:auto;padding:24px}.cx-trust-card h3{font-size:23px}
  .home-companion-context{overflow:hidden!important}.home-companion-window{min-width:0!important}.home-companion-body{grid-template-columns:68px 1fr}.home-context-head em{display:none}
}

@media(max-width:390px){
  .companion-product-stage{min-height:820px}
  .cx-phone-device{width:min(76vw,286px);max-width:calc(100vw - 44px)}
  .cx-state-controls button{font-size:6.5px}
}

@media(prefers-reduced-motion:reduce){
  .cx-tablet-device,.cx-presence,.cx-plane,.cx-node,.cx-context-panel,.cx-intelligence-rail,.cx-intelligence-rail:before,.cx-human-authority{transition:none!important;animation:none!important}
}
