/* THESIVE v3.5.5 — companion unification, Safari/layout polish, contact disclosure, motion refinement */
:root{--v355-gold:#e2a84a;--v355-green:#5dbd89;--v355-line:rgba(255,255,255,.09);--v355-ink:#e7e5df;--v355-muted:#7f898c}

/* ------------------------------------------------------------
   ONE COMPANION LANGUAGE
   The same visual grammar is used on For You, the partner HUD and
   the canonical "THE SAME COMPANION · MORE CONTEXT" demonstration.
   ------------------------------------------------------------ */
.v355-companion-core{
  --v355-orb-size:290px;
  position:relative!important;
  width:var(--v355-orb-size)!important;
  height:var(--v355-orb-size)!important;
  aspect-ratio:1;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate;
}
.v355-core-ring{
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none;
  transition:border-color .55s ease,box-shadow .55s ease,opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1)!important;
}
.v355-core-ring.r1{inset:6.8%!important;border:1px solid rgba(226,168,74,.43)!important;box-shadow:0 0 36px rgba(226,168,74,.10),inset 0 0 26px rgba(226,168,74,.045);animation:v355OrbSpin 12s linear infinite!important}
.v355-core-ring.r1:after{content:"";position:absolute;width:2.8%;aspect-ratio:1;border-radius:50%;left:20%;top:8%;background:var(--v355-gold);box-shadow:0 0 16px rgba(226,168,74,.88)}
.v355-core-ring.r2{inset:16%!important;border:1px solid rgba(226,168,74,.23)!important;animation:v355OrbSpin 18s linear reverse infinite!important}
.v355-core-ring.r2:after{content:"";position:absolute;inset:-8%;border:1px dashed rgba(226,168,74,.10);border-radius:50%}
.v355-core-ring.r3{inset:25.5%!important;border:1px solid rgba(255,255,255,.075)!important;box-shadow:inset 0 0 34px rgba(0,0,0,.66)}
.v355-core-mark{
  position:relative!important;z-index:6!important;width:31%!important;aspect-ratio:1!important;height:auto!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:27%!important;
  background:linear-gradient(145deg,rgba(27,32,34,.94),rgba(8,11,12,.98))!important;
  box-shadow:0 12px 32px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.055),0 0 26px rgba(226,168,74,.08)!important;
  transform:none!important;transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease!important;
}
.v355-core-mark img{width:64%!important;height:auto!important;opacity:.94!important;filter:drop-shadow(0 0 16px rgba(226,168,74,.22))!important}
.v355-core-name{position:absolute;z-index:7;top:64%;left:50%;transform:translateX(-50%);color:#a98648;font:600 clamp(5.5px,calc(var(--v355-orb-size)*.024),7.2px)/1.1 var(--sans);letter-spacing:.17em;white-space:nowrap;transition:opacity .35s ease,color .45s ease}
.v355-core-particles{position:absolute!important;inset:12%!important;border-radius:50%!important;z-index:2!important;pointer-events:none;background:radial-gradient(circle at 23% 22%,rgba(226,168,74,.82) 0 1px,transparent 2px),radial-gradient(circle at 78% 32%,rgba(226,168,74,.58) 0 1px,transparent 2px),radial-gradient(circle at 64% 82%,rgba(226,168,74,.62) 0 1px,transparent 2px),radial-gradient(circle at 32% 72%,rgba(226,168,74,.46) 0 1px,transparent 2px);animation:v355ParticleBreath 3.6s ease-in-out infinite!important}
.v355-core-particles i{position:absolute!important;width:2.2%!important;aspect-ratio:1;border-radius:50%;height:auto!important;background:#d9a755!important;opacity:.5;box-shadow:0 0 8px rgba(226,168,74,.5);animation:v355ParticleBreath 4.8s ease-in-out infinite!important}
.v355-core-particles i:nth-child(1){left:19%;top:30%}.v355-core-particles i:nth-child(2){right:19%;top:24%;animation-delay:.55s!important}.v355-core-particles i:nth-child(3){right:25%;bottom:19%;animation-delay:1.1s!important}.v355-core-particles i:nth-child(4){left:23%;bottom:25%;animation-delay:1.65s!important}.v355-core-particles i:nth-child(5){left:50%;top:9%;animation-delay:2.2s!important}.v355-core-particles i:nth-child(6){right:7%;bottom:45%;animation-delay:2.75s!important}
.v355-core-listening{position:absolute!important;z-index:8!important;display:flex!important;align-items:center!important;gap:calc(var(--v355-orb-size)*.018)!important;opacity:0!important;transition:opacity .3s ease!important}
.v355-core-listening i{display:block!important;width:max(2px,calc(var(--v355-orb-size)*.011))!important;border-radius:999px;background:linear-gradient(#f0bd62,#9a681f)!important;box-shadow:0 0 6px rgba(226,168,74,.18);animation:v355Listen .78s ease-in-out infinite alternate!important}
.v355-core-listening i:nth-child(1),.v355-core-listening i:nth-child(7){height:calc(var(--v355-orb-size)*.09)}.v355-core-listening i:nth-child(2),.v355-core-listening i:nth-child(6){height:calc(var(--v355-orb-size)*.16);animation-delay:-.2s!important}.v355-core-listening i:nth-child(3),.v355-core-listening i:nth-child(5){height:calc(var(--v355-orb-size)*.24);animation-delay:-.42s!important}.v355-core-listening i:nth-child(4){height:calc(var(--v355-orb-size)*.31);animation-delay:-.12s!important}
.v355-core-answer{position:absolute!important;z-index:8!important;width:61%!important;height:auto!important;opacity:0!important;transition:opacity .3s ease!important;overflow:visible!important}
.v355-core-answer path{fill:none!important;stroke:var(--v355-gold)!important;stroke-width:1.8!important;filter:drop-shadow(0 0 5px rgba(226,168,74,.45));stroke-dasharray:300;stroke-dashoffset:300;animation:v355Wave 1.9s linear infinite!important}

/* Home state mapping */
.v354-circle-demo[data-state="listening"] .v355-core-mark,.v354-circle-demo[data-state="answering"] .v355-core-mark{opacity:.18!important;transform:scale(.86)!important}
.v354-circle-demo[data-state="listening"] .v355-core-name,.v354-circle-demo[data-state="answering"] .v355-core-name{opacity:.34}
.v354-circle-demo[data-state="listening"] .v355-core-listening{opacity:1!important}
.v354-circle-demo[data-state="answering"] .v355-core-answer{opacity:1!important}
.v354-circle-demo[data-state="decision"] .v355-core-ring.r1,.v354-circle-demo[data-state="decision"] .v355-core-ring.r2{border-color:rgba(93,189,137,.48)!important;box-shadow:0 0 34px rgba(93,189,137,.08)}
.v354-circle-demo[data-state="decision"] .v355-core-ring.r1:after{background:var(--v355-green);box-shadow:0 0 16px rgba(93,189,137,.78)}
.v354-circle-demo[data-state="decision"] .v355-core-name{color:#71c893}

/* Canonical partner companion keeps the same geometry. */
.v355-companion-core--canonical{--v355-orb-size:290px}
.v355-companion-core--canonical .orb-halo,.v355-companion-core--canonical .orb-mark,.v355-companion-core--canonical .orb-particles{position:absolute}
.companion-demo[data-state="listening"] .v355-core-listening{opacity:1!important}
.companion-demo[data-state="answering"] .v355-core-answer{opacity:1!important}
.companion-demo[data-state="decision"] .v355-core-name{color:#73d58a}

/* Partner HUD reuses the same presence at two scales. */
.v355-companion-core--sidebar{--v355-orb-size:64px;margin:0 auto 9px!important}
.v355-companion-core--sidebar .v355-core-name{font-size:3.2px;top:67%}
.v355-companion-core--sidebar .v355-core-mark{border-radius:22%!important}
.v355-companion-core--hud{--v355-orb-size:92px;margin:9% auto 5%!important}
.v355-companion-core--hud .v355-core-name{font-size:4px;top:65%}
.phone-device.is-listening .v355-companion-core--hud .v355-core-mark{opacity:.18!important;transform:scale(.86)!important}
.phone-device.is-listening .v355-companion-core--hud .v355-core-name{opacity:.3}
.phone-device.is-listening .v355-companion-core--hud .v355-core-listening{opacity:1!important}
.phone-device.is-listening .v355-companion-core--hud .v355-core-ring.r1{animation-duration:4s!important}.phone-device.is-listening .v355-companion-core--hud .v355-core-ring.r2{animation-duration:7s!important}

/* ------------------------------------------------------------
   FOR YOU — fit the product in the first viewport and make motion feel
   intentional rather than decorative.
   ------------------------------------------------------------ */
.v355-home .v354-customer-hero{min-height:calc(100svh - 70px);padding:48px 0 54px!important}
.v355-home .v354-hero-grid{grid-template-columns:minmax(390px,.78fr) minmax(570px,1.22fr);gap:clamp(28px,4vw,64px)}
.v355-home .v354-hero-copy .display{font-size:clamp(48px,5.2vw,76px)}
.v355-home .v354-customer-stage{min-height:630px}
.v355-home .v354-phone-shell{width:min(405px,90%);min-height:620px;padding:23px 19px 17px;border-radius:44px}
.v355-home .v354-circle-demo{min-height:500px;padding-top:14px}
.v355-home .v355-companion-core--home{--v355-orb-size:272px}
.v355-home .v354-state-copy{margin-top:26px;min-height:54px}
.v355-home .v354-context-card{margin-top:8px;min-height:64px}
.v355-home .v354-state-tabs{margin-top:10px}
.v355-home .v354-watch{right:-8px;bottom:24px;transform:rotate(3deg) scale(.92)}
.v355-home .v354-stage-aura{width:560px;height:560px}
.v355-home .v354-learning-note{max-width:500px}
.v355-home .v354-input-dock button{transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease}
.v355-home .v354-input-dock button:hover,.v355-home .v354-input-dock button:focus-visible{border-color:rgba(226,168,74,.28);background:rgba(226,168,74,.035);color:#b8bfc1;outline:none;transform:translateY(-1px)}

/* Safari supports -webkit-mask-image more consistently than mask-image. */
.v355-home .v354-question-rail{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.v355-home .v354-question-track{will-change:transform;animation-duration:38s}
.v355-home .v354-question-rail:hover .v354-question-track{animation-play-state:paused}
.v355-home .v354-question-track span{transition:border-color .3s ease,color .3s ease,background .3s ease}
.v355-home .v354-question-track span:hover{border-color:rgba(226,168,74,.24);color:#b5bdc0;background:rgba(226,168,74,.025)}

.v355-home .v354-money-orbit{overflow:hidden;background:radial-gradient(circle at center,rgba(226,168,74,.065),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.008),rgba(4,6,7,.12))}
.v355-home .v354-money-orbit:before{content:"";position:absolute;inset:12%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 20%,rgba(226,168,74,.16) 23%,transparent 27% 54%,rgba(93,189,137,.10) 58%,transparent 62%);-webkit-mask:radial-gradient(circle,transparent 0 57%,#000 58% 59%,transparent 60%);mask:radial-gradient(circle,transparent 0 57%,#000 58% 59%,transparent 60%);animation:v355Sweep 18s linear infinite;opacity:.7}
.v355-home .v354-money-orbit:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--v355-gold);box-shadow:-270px -112px 0 -1px rgba(226,168,74,.35),280px -118px 0 -1px rgba(226,168,74,.3),-292px 124px 0 -1px rgba(226,168,74,.28),278px 122px 0 -1px rgba(226,168,74,.28),0 190px 0 -1px rgba(226,168,74,.28);animation:v355Pulse 3.8s ease-in-out infinite;pointer-events:none}
.v355-home .v354-money-core{box-shadow:0 0 52px rgba(226,168,74,.04),inset 0 0 42px rgba(226,168,74,.025)}
.v355-home .v354-money-node{transition:border-color .3s ease,background .3s ease,transform .3s ease}
.v355-home .v354-money-node:hover{border-color:rgba(226,168,74,.22);background:rgba(226,168,74,.025);transform:translateY(-3px)}
.v355-close-actions,.v355-origin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ------------------------------------------------------------
   FOUNDER PROOF — fix dense chart labels and make the data panel breathe.
   ------------------------------------------------------------ */
.v355-founder-proof .record-viz-pro{top:51%!important}
.v355-founder-proof .record-chart-v16 .record-callout{paint-order:stroke fill;stroke:#0a0d0f;stroke-width:3px;stroke-linejoin:round}
.v355-founder-proof .record-chart-v16 .record-callout.actual{transform:translate(4px,-6px)}
.v355-founder-proof .record-chart-v16 .record-callout.market{transform:translate(5px,7px)}
.v355-founder-proof .record-chart-v16 .record-market-current{animation:v355MarketPulse 2.8s 4.15s ease-in-out infinite}
.v355-founder-proof .record-viz-pro.v351-motion-ready{box-shadow:0 34px 105px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.07),inset 1px 0 0 rgba(93,189,137,.09),0 0 0 1px rgba(226,168,74,.015)!important}
.v355-founder-proof .record-pro-head{gap:18px}
.v355-founder-proof .record-pro-kpis>div{min-height:66px}
.v355-founder-proof .record-chart-pro{margin-top:2px}

/* Market context should enter as supporting evidence, not arrive several seconds late. */
.v355-founder-proof .record-chart-v16 .record-market-line{stroke:#b5bdc0;stroke-width:1.6;opacity:.78;animation:v352-market-draw 1.7s 1.05s cubic-bezier(.18,.72,.22,1) forwards}
.v355-founder-proof .record-chart-v16 .record-market-dot{stroke:#b5bdc0;animation:v352-market-dot .35s 2.55s ease forwards}
.v355-founder-proof .record-chart-v16 .record-callout.market{fill:#bcc3c5;animation:v352-market-label .42s 2.72s ease forwards}

/* ------------------------------------------------------------
   ORIGIN — stop punctuation/widow glitches and keep the hero balanced.
   ------------------------------------------------------------ */
.v355-origin .v340-origin-hero>.wrap{width:min(var(--max),calc(100% - 44px));max-width:none;padding-right:min(46vw,640px)}
.v355-origin-title-lock{display:grid;gap:.02em;max-width:560px;text-wrap:balance}
.v355-origin-title-lock span{display:block;white-space:nowrap}
.v355-origin .v340-origin-hero .lead{max-width:560px}
.v355-origin .v343-origin-hero-field{will-change:transform,opacity}

/* ------------------------------------------------------------
   CONTACT — transparently make THESIVE the conversation counterpart.
   ------------------------------------------------------------ */
.v355-contact .contact-hero-copy{max-width:680px}
.v355-contact .contact-hero-copy h1{max-width:650px}
.v355-contact .contact-hero-tags{flex-wrap:wrap}
.v355-ai-contact-card{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;margin:28px 0;padding:24px;border:1px solid rgba(226,168,74,.17);border-radius:20px;background:radial-gradient(circle at 11% 42%,rgba(226,168,74,.07),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.018),rgba(6,9,10,.12))}
.v355-companion-core--contact{--v355-orb-size:130px}
.v355-companion-core--contact .v355-core-name{font-size:5px}
.v355-ai-contact-card small{color:#c99a48;font-size:8px;letter-spacing:.14em}
.v355-ai-contact-card h3{margin:7px 0 8px;font:500 24px/1.15 var(--serif);color:#e6e2db}
.v355-ai-contact-card p{margin:0 0 11px;color:#858f92;font-size:11px;line-height:1.62}
.v355-ai-contact-card .v355-contact-boundary{padding-top:10px;border-top:1px solid rgba(255,255,255,.06);color:#788285}
.v355-ai-contact-card .v355-contact-boundary strong{color:#b99453;font-size:9px;letter-spacing:.08em}
.v355-ai-contact-card .btn{margin-top:5px}
.v355-contact .direct-email{padding-top:20px;border-top:1px solid rgba(255,255,255,.055)}
.v355-contact .form-card button[type="submit"]{width:100%;justify-content:center}

/* Motion polish: less static, still calm. */
@keyframes v355OrbSpin{to{transform:rotate(360deg)}}
@keyframes v355ParticleBreath{0%,100%{opacity:.24;transform:scale(.82)}50%{opacity:.9;transform:scale(1.24)}}
@keyframes v355Listen{to{transform:scaleY(.55);opacity:.65}}
@keyframes v355Wave{0%{stroke-dashoffset:300;opacity:.28}58%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes v355Sweep{to{transform:rotate(360deg)}}
@keyframes v355Pulse{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.18)}}
@keyframes v355MarketPulse{0%,100%{opacity:.68;filter:drop-shadow(0 0 3px rgba(196,204,207,.12))}50%{opacity:1;filter:drop-shadow(0 0 8px rgba(196,204,207,.28))}}

/* Desktop-height guard for the exact Safari-style viewport shown in QA screenshots. */
@media(min-width:1100px) and (max-height:920px){
  .v355-home .v354-customer-hero{padding:34px 0 38px!important}
  .v355-home .v354-hero-copy .display{font-size:clamp(46px,4.9vw,70px)}
  .v355-home .v354-customer-stage{min-height:590px}
  .v355-home .v354-phone-shell{min-height:580px;width:min(385px,88%)}
  .v355-home .v354-circle-demo{min-height:465px}
  .v355-home .v355-companion-core--home{--v355-orb-size:248px}
  .v355-home .v354-state-copy{margin-top:20px}
  .v355-home .v354-watch{transform:rotate(3deg) scale(.82);right:-2px;bottom:20px}
}

@media(max-width:1120px){
  .v355-home .v354-hero-grid{grid-template-columns:1fr}
  .v355-home .v354-customer-stage{min-height:650px}
  .v355-home .v354-phone-shell{width:min(410px,88vw)}
}
@media(max-width:900px){
  .v355-origin .v340-origin-hero>.wrap{padding-right:0}
  .v355-origin-title-lock{max-width:620px}
  .v355-origin .v340-origin-hero .lead{max-width:620px}
}
@media(max-width:820px){
  .v355-origin-title-lock span{white-space:normal}
  .v355-ai-contact-card{grid-template-columns:115px 1fr;gap:18px;padding:20px}
  .v355-companion-core--contact{--v355-orb-size:105px}
  .v355-founder-proof .record-viz-pro{top:auto!important}
}
@media(max-width:700px){
  .v355-home .v354-customer-hero{padding-top:118px!important}
  .v355-home .v354-phone-shell{min-height:625px;padding-top:22px}
  .v355-home .v354-circle-demo{min-height:490px}
  .v355-home .v355-companion-core--home{--v355-orb-size:224px}
  .v355-home .v354-question-rail{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
  .v355-home .v354-question-track{animation-duration:46s}
  .v355-home .v354-money-orbit:after{display:none}
  .v355-founder-proof .record-chart-v16 .record-callout.actual{transform:translate(-4px,-7px)}
  .v355-founder-proof .record-chart-v16 .record-callout.market{transform:translate(-11px,9px)}
  .v355-ai-contact-card{grid-template-columns:1fr;text-align:left}
  .v355-companion-core--contact{--v355-orb-size:112px;margin:0 auto!important}
  .v355-contact .contact-hero-tags{gap:6px}
}
@media(max-width:480px){
  .v355-home .v354-phone-shell{min-height:605px}
  .v355-home .v354-circle-demo{min-height:470px}
  .v355-home .v355-companion-core--home{--v355-orb-size:212px}
  .v355-core-name{font-size:5px}
  .v355-companion-core--hud{--v355-orb-size:88px}
  .v355-home .v354-question-track span{font-size:10px;padding:11px 14px}
  .v355-origin-title-lock{font-size:clamp(48px,15vw,68px)!important}
  .v355-ai-contact-card{padding:18px}
  .v355-ai-contact-card h3{font-size:22px}
}

@media(prefers-reduced-motion:reduce){
  .v355-core-ring,.v355-core-particles,.v355-core-particles i,.v355-core-listening i,.v355-core-answer path,.v355-home .v354-money-orbit:before,.v355-home .v354-money-orbit:after,.v355-founder-proof .record-market-current{animation:none!important}
  .v355-core-listening,.v355-core-answer,.v355-core-mark,.v355-core-ring{transition:none!important}
  .v355-home .v354-question-track{animation:none!important;transform:none!important}
}
