/* Progressive enhancement: all content and controls work without these effects. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;pointer-events:none;background:transparent}.reading-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8eafc6,#e8c591);transform:scaleX(0);transform-origin:left}.site-header{position:sticky;top:0;background:#101f30ed;backdrop-filter:blur(20px);transition:box-shadow .3s,background .3s;z-index:30}.site-header.scrolled{box-shadow:0 10px 30px #03101d20;background:#101f30f5}.motion-toggle{background:none;color:#b8cbd8;border:1px solid #5e7282;border-radius:20px;padding:7px 13px;font-size:.75rem;white-space:nowrap}.hero{isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;inset:-20%;background:radial-gradient(ellipse at 65% 50%,#6595ab55,transparent 44%),radial-gradient(ellipse at 80% 85%,#d9b77e19,transparent 40%);pointer-events:none}.motion-on .hero:before{animation:light-drift 15s ease-in-out infinite alternate}.motion-on .hero:not(.in-view):before{animation-play-state:paused}@keyframes light-drift{from{transform:translate3d(-2%,-2%,0) scale(1)}to{transform:translate3d(6%,4%,0) scale(1.12)}}.motion-on .glass-panel{animation:glass-arrive .95s cubic-bezier(.2,.8,.2,1) both}.motion-on .panel-two{animation-delay:.15s}.motion-on .panel-three{animation-delay:.3s}@keyframes glass-arrive{from{opacity:0;transform:translate3d(65px,28px,0) rotate(-3deg)}to{opacity:1;transform:none}}.glass-art{transition:opacity .3s}.motion-on .glass-art{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.07)}.motion-on .reveal-ready{opacity:.12;transform:translate3d(0,42px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-on .reveal-ready.is-revealed{opacity:1;transform:none}.motion-on .reveal-ready:focus-within{opacity:1;transform:none}.service-card{isolation:isolate;transition:border-color .3s,box-shadow .3s,transform .5s!important}.service-card:before{content:'';position:absolute;z-index:-1;inset:0;opacity:0;background:radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#fff,transparent 72%);transition:opacity .35s;pointer-events:none}.service-card:hover:before,.service-card:focus-visible:before{opacity:1}.service-card:hover{border-color:#7c96a7;box-shadow:0 22px 45px #142b3e20;transform:translateY(-6px)}.service-diagram{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding:20px 0;color:#476273;font-size:.75rem}.service-diagram>span{background:#dce6eb;border:1px solid #b9cad4;border-radius:6px;padding:10px 12px;text-align:center;flex:1;position:relative}.service-diagram>span:not(:last-child):after{content:'';position:absolute;left:100%;top:50%;height:2px;width:27px;background:linear-gradient(90deg,#7997aa,#c5a168);transform-origin:left}.motion-on .service-card .service-diagram>span{transition:background .3s,box-shadow .3s}.service-card:hover .service-diagram>span{background:#f6fafc;box-shadow:0 5px 14px #142e4220}.motion-on .service-card:hover .service-diagram>span:nth-child(2){transition-delay:.07s}.motion-on .service-card:hover .service-diagram>span:nth-child(3){transition-delay:.14s}.number-diagram{gap:12px}.number-diagram>span{padding:0;background:none;border:0;text-align:left;font-size:.7rem}.number-diagram>span:after{display:none}.number-diagram i{display:block;width:var(--bar);height:8px;margin-top:12px;background:linear-gradient(90deg,#51758b,#b79661);border-radius:2px;transform-origin:left}.motion-on .number-diagram i{transform:scaleX(.15);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.motion-on .service-card.is-revealed .number-diagram i{transform:scaleX(1)}
.story-shell{position:relative}.story-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.story-controls button{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#1b3347;color:#c0d1de;border:1px solid #50687a;border-radius:8px;font-size:.94rem;text-align:left;transition:background .35s,border-color .35s,color .35s}.story-controls button>span{font-size:.74rem;color:#d9b77e}.story-controls button[aria-pressed=true]{background:#d9b77e;color:#14293b;border-color:#d9b77e}.story-controls button[aria-pressed=true]>span{color:#14293b}.story-track{height:2px;background:#3b5162;margin-bottom:16px;overflow:hidden}.story-track>span{display:block;width:100%;height:100%;background:#dfc08e;transform:scaleX(.125);transform-origin:left;transition:transform .2s}.story-hint{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:22px;color:#adbfcc}.tap-hint{display:none}.demo{transition:border-color .5s,box-shadow .5s;background:radial-gradient(ellipse at 80% 70%,#36546755,transparent 80%),#15283b}.demo-aside{min-height:450px}.workflow{display:flex;flex-direction:column;justify-content:center}.flow-nodes>div{transition:transform .65s cubic-bezier(.2,.8,.2,1),background .5s,border-color .5s,box-shadow .5s}.flow-nodes>div:after{transition:opacity .5s}.story-shell[data-stage="0"] .flow-nodes>div:nth-child(1){transform:translateY(-10px) rotate(-5deg)}.story-shell[data-stage="0"] .flow-nodes>div:nth-child(2){transform:translateY(14px) rotate(4deg)}.story-shell[data-stage="0"] .flow-nodes>div:nth-child(3){transform:translateY(-6px) rotate(-3deg)}.story-shell[data-stage="0"] .flow-nodes>div:after{opacity:0}.story-shell[data-stage="1"] .flow-nodes>div:first-child,.story-shell[data-stage="2"] .flow-nodes>div:nth-child(2),.story-shell[data-stage="3"] .flow-nodes>div{border-color:#d1b483;box-shadow:0 0 28px #d9b77e16;background:linear-gradient(135deg,#486276,#2b4256)}.story-shell[data-stage="3"] .output-card{border-color:#e2bf85;box-shadow:0 8px 35px #d9b77e14;background:linear-gradient(120deg,#4b5652,#284451)}.output-card{transition:background .5s,border-color .5s,box-shadow .5s}.story-shell .output-mark{font-size:1.6rem}.story-shell .demo-disclaimer{max-width:340px}.story-shell .switch{margin-bottom:23px}.motion-on .steps{position:relative}.steps article{transition:border-color .5s,background .5s}.motion-on .steps article{border-top-color:#465c6d}.motion-on .steps article.step-lit{border-top:2px solid #dfbe8a;padding-top:21px}.step-lit .step-num{color:#ffe0af}.motion-on .content-composition{transform:translate3d(0,var(--image-shift,0px),0) rotate(var(--image-turn,0deg));transition:filter .4s;will-change:auto}.motion-on .resource-art:hover .content-composition,.motion-on .preview:hover .content-composition{filter:drop-shadow(0 12px 12px #00000028);transform:translate3d(0,calc(var(--image-shift,0px) - 7px),0) rotate(var(--image-turn,0deg))}.product-art,.guide-preview{overflow:hidden}.email-card{overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .4s}.email-card:after{content:'';position:absolute;inset:-50% auto -50% -80%;width:50%;background:linear-gradient(90deg,transparent,#e1edf525,transparent);transform:rotate(22deg);pointer-events:none}.motion-on .email-card:hover:after{animation:contact-glint .9s ease-out}.email-card:hover{box-shadow:0 20px 50px #00000025;transform:translateY(-4px)}@keyframes contact-glint{to{left:140%}}.motion-on details[open]>.detail-body,.motion-on details[open]>p{animation:details-in .3s ease-out}@keyframes details-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.motion-on dialog[open]{animation:dialog-in .25s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1000px) and (min-height:780px){.motion-on .story-shell{height:1900px}.motion-on .story-pin{position:sticky;top:115px}.motion-on .story-pin .demo{max-height:580px}.motion-on .story-shell .workflow{min-height:460px}}
@media(max-width:999px),(max-height:779px){.scroll-hint{display:none}.tap-hint{display:inline}.story-controls button{gap:8px;padding:13px;font-size:.85rem}.story-hint{margin-bottom:18px}.demo-aside{min-height:0}.story-shell[data-stage="0"] .flow-nodes>div{transform:none}}
@media(max-width:800px){.site-header .nav{height:78px}.story-controls{grid-template-columns:1fr 1fr;gap:9px}.story-controls button{padding:14px 17px}.story-shell .workflow{min-height:0}.story-shell .demo-aside{padding:25px}.service-diagram{font-size:.7rem;gap:15px}.service-diagram>span{padding:9px}.service-diagram>span:not(:last-child):after{width:17px}.motion-toggle{margin-left:0}.footer>span{width:auto}.motion-on .reveal-ready{transform:translateY(24px)}.motion-on .reveal-ready.is-revealed{transform:none}}
@media(max-width:520px){.motion-on .story-shell .flow-nodes>div{transform:none}.story-controls button{font-size:.9rem}.story-track{margin-top:3px}.service-diagram{font-size:.75rem}.motion-toggle{font-size:.75rem}.motion-on .content-composition{transform:translate3d(0,var(--image-shift,0px),0)}.story-shell .workflow-top{font-size:.7rem}}
.motion-off .reveal-ready{opacity:1;transform:none}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .content-composition,.motion-off .glass-art{transform:none!important}.motion-off .story-shell{height:auto}.motion-off .story-pin{position:static}.motion-off .scroll-hint{display:none}.motion-off .tap-hint{display:inline}.motion-off .service-card:hover,.motion-off .email-card:hover{transform:none}.motion-off .flow-nodes>div{transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before{animation:none!important}.motion-on .reveal-ready{opacity:1;transform:none;transition:none}.motion-on .story-shell{height:auto}.motion-on .story-pin{position:static}.motion-on .content-composition,.motion-on .glass-art{transform:none!important}.scroll-hint{display:none}.tap-hint{display:inline}}
@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.18s}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
html:not(.motion-on):not(.motion-off) .story-controls,html:not(.motion-on):not(.motion-off) .story-track,html:not(.motion-on):not(.motion-off) .story-hint{display:none}html.motion-off::view-transition-group(*),html.motion-off::view-transition-old(*),html.motion-off::view-transition-new(*){animation:none!important}
