/* Maitra Agentic Solutions — site styles */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#FFFFFF;color:#14120F;font-family:"Geist",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#14120F}a:hover{color:#5C564D}
button:focus-visible,a:focus-visible{outline:2px solid #14120F;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.askline:focus-within{box-shadow:inset 0 -2px 0 #14120F !important}
.fld:focus{box-shadow:inset 0 -2px 0 #14120F !important}
.fld::placeholder{color:#8A7F6E}

/* Maitra, the guide */
.ag{overflow:visible}
.ag .ring{transform-box:view-box;transform-origin:60px 60px;opacity:0}
.ag.speaking .ring{animation:ag-ripple 2s ease-out infinite}
.ag.listening .ring{animation:ag-ripple 1.1s ease-out infinite}
.ag .body{transform-box:view-box;transform-origin:60px 60px;animation:ag-breathe 4.6s ease-in-out infinite}
.ag .tri{transform-box:view-box;transform-origin:60px 62px}
.ag.thinking .tri{animation:ag-spin 1.4s cubic-bezier(.6,0,.4,1) infinite}
.ag .n{transform-box:fill-box;transform-origin:center;animation:ag-float 3.6s ease-in-out infinite}
.ag .n2{animation-delay:.5s}.ag .n3{animation-delay:1s}
.ag.speaking .n{animation:ag-talk .4s ease-in-out infinite alternate}
.ag.speaking .n2{animation-delay:.13s}.ag.speaking .n3{animation-delay:.26s}
.ag.listening .n{animation:ag-lean 1.1s ease-in-out infinite}
.ag.listening .n2{animation-delay:.15s}.ag.listening .n3{animation-delay:.3s}
@keyframes ag-ripple{0%{transform:scale(.92);opacity:.45}100%{transform:scale(1.32);opacity:0}}
@keyframes ag-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.022)}}
@keyframes ag-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes ag-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes ag-talk{from{transform:scale(1)}to{transform:scale(1.36)}}
@keyframes ag-lean{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.enter{animation:ag-enter 1.4s cubic-bezier(.16,1,.3,1) both}
@keyframes ag-enter{0%{opacity:0;transform:scale(.55);filter:blur(8px)}100%{opacity:1;transform:scale(1);filter:blur(0)}}

/* astrolabe */
.spin-slow{transform-box:view-box;transform-origin:240px 240px;animation:ag-spin 90s linear infinite}
.spin-rev{transform-box:view-box;transform-origin:240px 240px;animation:ag-spin 60s linear infinite reverse}

/* destinations */
.dest-in{animation:dest-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes dest-in{from{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
.dest:hover .dn{font-style:italic}
.ar{display:inline-block;transition:transform .3s}
.dest:hover .ar{transform:translateX(4px)}

/* words */
.cur{display:inline-block;width:1.5px;height:.95em;background:currentColor;margin-left:3px;vertical-align:-0.12em;animation:cur-blink 1s steps(1) infinite}
@keyframes cur-blink{50%{opacity:0}}
.eq{display:inline-flex;gap:2px;align-items:center;height:12px}
.eq i{display:block;width:2px;height:3px;background:#14120F;border-radius:1px}
.eq.speaking i{animation:eq .6s ease-in-out infinite alternate}
.eq.speaking i:nth-child(2){animation-delay:.18s}.eq.speaking i:nth-child(3){animation-delay:.36s}
.eq.listening i{animation:eq 1s ease-in-out infinite alternate}
@keyframes eq{from{height:3px}to{height:12px}}
.fade-in{animation:fade-up .8s cubic-bezier(.16,1,.3,1) both}
@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pulse{animation:dot-pulse 1.4s ease-in-out infinite}
@keyframes dot-pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* travel */
.roll-out{animation:roll-out 1.15s cubic-bezier(.55,0,.7,.2) both}
@keyframes roll-out{0%{transform:none}16%{transform:translateX(-34px) rotate(-45deg)}100%{transform:translateX(120vw) rotate(1080deg)}}
.roll-in{animation:roll-in 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes roll-in{from{transform:translateX(-70vw) rotate(-1080deg)}to{transform:none}}
.page-in{animation:fade-up .9s .35s cubic-bezier(.16,1,.3,1) backwards}
.tp-label{animation:fade-up .55s .5s cubic-bezier(.16,1,.3,1) both}

/* popup + story player */
.pop-back{animation:fade-in .35s ease both}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.pop-in{animation:pop-in .6s cubic-bezier(.16,1,.3,1) both}
@keyframes pop-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.scene{animation:scene-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes scene-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rise{animation:scene-in .9s cubic-bezier(.16,1,.3,1) both}
.d1{animation-delay:.12s}.d2{animation-delay:.24s}
.wave i{display:block;width:4px;border-radius:2px;background:#14120F;animation:eq2 1s ease-in-out infinite alternate}
.wave i:nth-child(2n){animation-delay:.2s}.wave i:nth-child(3n){animation-delay:.45s}
@keyframes eq2{from{transform:scaleY(.35)}to{transform:scaleY(1)}}

@media (max-width: 760px){
  .orbit{height:auto !important;display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:240px}
  .orbit .slot{position:static !important;transform:none !important}
  .orbit .slot .dest{align-items:center !important;text-align:center !important}
  .orbit .mitra{top:120px !important}
  .orbit .lines,.orbit .astro{display:none}
  .howline{display:none}
}
@media (prefers-reduced-motion: reduce){
  .ag *,.cur,.pulse,.enter,.dest-in,.fade-in,.roll-out,.roll-in,.page-in,.tp-label,.spin-slow,.spin-rev,.eq i,.scene,.rise,.wave i,.pop-in,.pop-back{animation:none !important}
}
