/* IDA Studio V29 — visual restoration; additive and reversible; release candidate. */
/* Return the original compact, friendly Penrose silhouette. Its metallic palette
   must NOT be touched by theme or universe selectors. */
.ida-penrose-assistant.ida-guide-launch{
  width:43px!important;height:43px!important;min-width:43px!important;min-height:43px!important;
  padding:3px!important;flex-shrink:0;
}
.ida-penrose-assistant .penrose-mark,
.ida-penrose-assistant .penrose-mark svg{
  width:36px!important;height:36px!important;display:block;overflow:visible
}
.ida-penrose-assistant .ida-v29-original{
  color:#99bed9!important;opacity:1!important;
  filter:drop-shadow(0 1px 2px rgba(17,36,64,.36)) drop-shadow(0 0 3px rgba(195,226,249,.19))!important;
  transform-origin:50% 50%;animation:ida-v29-signature 9s ease-in-out infinite;
}
@keyframes ida-v29-signature{
  0%,100%{transform:rotate(-4deg) translateY(0)}
  50%{transform:rotate(4deg) translateY(-1px)}
}
html[data-theme] .ida-penrose-assistant .ida-v29-original,
html[data-ida-universe] .ida-penrose-assistant .ida-v29-original{color:#99bed9!important}
@media(max-width:670px){
 .ida-penrose-assistant.ida-guide-launch{width:41px!important;height:41px!important;min-width:41px!important;min-height:41px!important}
 .ida-penrose-assistant .penrose-mark,
 .ida-penrose-assistant .penrose-mark svg{width:33px!important;height:33px!important}
}
/* Orb remains a true glass sphere, WITHOUT any internal triangle.
   White ocean-current clouds are visible on both light and dark palettes. */
.hero-orb .orb-core{position:relative;overflow:hidden;isolation:isolate}
.ida-v28-orb-triangle,.ida-v28-orb-cloud{display:none!important}
.ida-v29-ocean-cloud{position:absolute;inset:-15%;z-index:3;overflow:hidden;border-radius:50%;
  pointer-events:none;mix-blend-mode:screen;opacity:.88}
.ida-v29-ocean-cloud::before,
.ida-v29-ocean-cloud::after{content:"";position:absolute;inset:0;display:block;border-radius:49%}
.ida-v29-ocean-cloud::before{
  background:
    radial-gradient(ellipse 53% 16% at 21% 33%,rgba(255,255,255,.94),transparent 88%),
    radial-gradient(ellipse 59% 17% at 71% 59%,rgba(255,255,255,.83),transparent 90%),
    radial-gradient(ellipse 58% 14% at 38% 76%,rgba(246,252,255,.91),transparent 95%);
  filter:blur(4px);transform:rotate(-18deg);
  animation:ida-v29-current-a 6.8s ease-in-out infinite alternate;
}
.ida-v29-ocean-cloud::after{
  inset:7% -15%;
  background:repeating-radial-gradient(ellipse 90% 46% at 55% 110%,
   transparent 0 9px,rgba(255,255,255,.69) 11px,rgba(255,255,255,.18) 15px,transparent 20px 29px);
  filter:blur(3px);
  animation:ida-v29-current-b 8.7s cubic-bezier(.55,.12,.38,.87) infinite alternate;
}
.ida-v29-ocean-cloud.second{z-index:4;opacity:.72;transform:rotate(72deg) scale(.88)}
.ida-v29-ocean-cloud.second::before{animation-duration:10.4s;animation-delay:-3.2s}
.ida-v29-ocean-cloud.second::after{animation-duration:12s;animation-delay:-4.4s}
.hero-orb .orb-core::after{content:"";position:absolute;z-index:5;inset:0;border-radius:50%;
  background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.45),transparent 45%);
  pointer-events:none}
html[data-theme="ivory"] .ida-v29-ocean-cloud{mix-blend-mode:normal;opacity:.93}
html[data-theme="ivory"] .ida-v29-ocean-cloud::before{filter:blur(4px) drop-shadow(0 1px 4px rgba(112,157,184,.35))}
html[data-theme="ivory"] .ida-v29-ocean-cloud::after{filter:blur(2px) drop-shadow(0 1px 2px rgba(83,151,182,.27))}
@keyframes ida-v29-current-a{
  0%{transform:translate(-31%,-10%) rotate(-26deg) scale(.89);opacity:.56}
  54%{opacity:.98}
  100%{transform:translate(30%,12%) rotate(2deg) scale(1.13);opacity:.94}
}
@keyframes ida-v29-current-b{
  0%{transform:translate(-21%,7%) rotate(-10deg) scale(.94);opacity:.64}
  100%{transform:translate(24%,-11%) rotate(22deg) scale(1.16);opacity:1}
}
/* Icons: repeated motion + opacity, not merely hover and not a single intro
   transition. Scope animation to glyphs, never entire buttons or inputs. */
.ida-v29-moving-icon{display:inline-block;transform-origin:50% 50%;
  animation:ida-v29-icon-wave var(--ida-v29-speed,5.8s) ease-in-out infinite!important;
  animation-delay:var(--ida-v29-phase,0s)!important}
.ida-v29-moving-icon svg{transform-origin:center}
@keyframes ida-v29-icon-wave{
  0%,100%{transform:translate3d(0,2px,0) rotate(-7deg) scale(.94);opacity:.64}
  27%{transform:translate3d(0,-3px,0) rotate(7deg) scale(1.09);opacity:1}
  56%{transform:translate3d(1px,-1px,0) rotate(-3deg) scale(1.01);opacity:.82}
  79%{transform:translate3d(0,2px,0) rotate(5deg) scale(.98);opacity:1}
}
/* Preserve click targets, and give previously unanimated SVG-only icon families motion. */
.ida-v29-moving-icon{pointer-events:inherit}
.ida-v29-moving-icon:focus-visible{animation-play-state:paused!important}
/* Reclaim accidental blanks without clipping text or the open quote wizard. */
.section{padding-top:clamp(57px,6vw,86px);padding-bottom:clamp(60px,6.5vw,89px)}
.section-heading{margin-bottom:clamp(22px,3vw,36px);gap:clamp(15px,2vw,30px)}
.section-heading h2{margin-top:12px}
.subpage-main .section{min-height:0}
.subpage-heading{padding-bottom:0}
.subpage-trail{padding-bottom:52px}
.service-card{min-height:0;padding:22px 21px 23px}
.service-icon{margin-bottom:12px}
.service-card p{margin-bottom:15px}
.pro-card{min-height:0}
.price-card{min-height:0}
.price-card>p{min-height:0}
.why-benefit{min-height:0;padding:22px}
.automation-feature{min-height:0}
.ida-config-head{margin-bottom:16px}
.ida-config-progress{margin-bottom:19px}
.ida-choice{min-height:102px;padding:13px 14px}
.ida-goals .ida-choice{min-height:0}
.ida-summary{margin-bottom:14px}
.ida-config-footer{margin-top:16px}
.ida-v28-illuminated>.ida-v28-light{opacity:.48}
@media(max-width:740px){
 .section{padding-top:50px;padding-bottom:55px}
 .section-heading{margin-bottom:20px}
 .subpage-trail{padding-bottom:31px}
 .why-benefit{padding:19px}
 .service-card,.pro-card{padding:18px}
 .price-card{padding:20px}
 .ida-config-progress{margin-bottom:15px}
 .ida-config-footer{margin-top:13px}
}
/* Typed project message, response and transparent local-advice boundary. */
.ida-v29-chat{margin:15px 0 10px;display:grid;gap:9px}
.ida-v29-chat label{font-size:11px;letter-spacing:.01em;color:var(--text)}
.ida-v29-chat textarea{width:100%;min-height:84px;max-height:155px;resize:vertical;
 background:rgba(var(--accent-rgb),.05);color:var(--text);border:1px solid var(--strong-line);
 border-radius:11px;padding:12px;font:400 13px/1.55 "Avenir Next","Helvetica Neue",Arial,sans-serif}
.ida-v29-chat button{justify-self:end;min-height:35px;border:1px solid var(--accent);
 border-radius:9px;background:var(--accent);color:var(--inverse);padding:7px 13px;font-size:11px;font-weight:600}
.ida-v29-chat button:disabled{cursor:not-allowed;opacity:.5}
.ida-v29-chat .ida-v29-count{font-size:10px;color:var(--soft);margin-top:-7px}
.ida-guide-panel .ida-guide-output{min-height:0;padding:12px 14px;white-space:pre-wrap}
.ida-guide-options{margin:11px 0}
.ida-guide-panel{max-height:min(600px,calc(100dvh - 115px))}
@media(prefers-reduced-motion:reduce){
 .ida-v29-original,.ida-v29-ocean-cloud::before,.ida-v29-ocean-cloud::after,
 .ida-v29-moving-icon{animation:none!important;transform:none!important;opacity:1!important}
}
html[data-ida-motion-off="true"] .ida-v29-original,
html[data-ida-motion-off="true"] .ida-v29-ocean-cloud::before,
html[data-ida-motion-off="true"] .ida-v29-ocean-cloud::after,
html[data-ida-motion-off="true"] .ida-v29-moving-icon{animation-play-state:paused!important}
