/* Shared motion accents: scroll, reveal, interaction. No perpetual page loops. */
.site-header{transition:box-shadow .35s,background .35s}
.site-header.is-scrolled{background:#f8f5eef5;box-shadow:0 8px 30px #1724210c;backdrop-filter:blur(12px)}
.site-header::after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--orange);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.site-header nav a{position:relative}
.site-header nav a::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.brand-panel{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.hero h1 em{position:relative;display:inline-block}
.hero h1 em::after{content:'';position:absolute;bottom:-.04em;left:0;right:0;height:2px;background:#c75c22;transform-origin:left;animation:headline-stroke 1.2s .6s cubic-bezier(.16,1,.3,1) both}
@keyframes headline-stroke{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.5}}
.examples article{position:relative;isolation:isolate;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s}
.examples article::before{content:'';position:absolute;inset:-12px -14px;background:#f1eadc;border-radius:8px;z-index:-1;opacity:0;transition:opacity .35s}
.example-top .icon{transition:transform .45s cubic-bezier(.16,1,.3,1),color .35s}
.model-options article{transition:background .4s}
.model-index{display:inline-block;transition:transform .4s,color .4s}
.providers>*{transition:transform .3s,border-color .3s,background .3s}
.button{transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .25s}
.button:active{transform:translateY(1px) scale(.98)}
.demo-steps{position:relative}
.demo-steps::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffa35e;transform:scaleX(var(--demo-progress,0));transform-origin:left;pointer-events:none}
.demo-steps li{transition:background .4s,color .4s}
.questions summary>span{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.questions details[open]>p{animation:answer-in .4s cubic-bezier(.16,1,.3,1) both}
.contact-dialog[open]{animation:dialog-in .35s cubic-bezier(.16,1,.3,1) both}
.contact-dialog[open]::backdrop{animation:backdrop-in .3s ease both}
.choices button{transition:background .25s,border-color .25s,transform .25s}
.form-progress i{transition:background .3s,transform .3s}.form-progress i.active{transform:scaleY(1.4)}
@keyframes answer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes dialog-in{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
 .examples article:hover{transform:translateY(-7px);border-color:var(--rust)}
 .examples article:hover::before{opacity:1}
 .examples article:hover .icon{transform:translateY(-3px) rotate(-7deg);color:var(--rust)}
 .model-options article:hover{background:#ffffff05}
 .model-options article:hover .model-index{transform:translateX(6px);color:#ffcc9e}
 .providers>*:hover{transform:translateY(-3px);border-color:#b77546;background:#fff5e9}
 .button.dark:hover{box-shadow:0 8px 20px #17242120;transform:translateY(-3px)}
 .choices button:hover{transform:translateX(3px)}
 .brand-panel:hover{box-shadow:0 28px 35px -24px #69320988}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .brand-panel,.examples article:hover,.examples article:hover .icon,.model-options article:hover .model-index,.providers>*:hover,.button:hover,.button:active,.choices button:hover{transform:none!important}
 .hero h1 em::after{transform:none;opacity:.5}
 .demo-steps::after{display:none}
}
