/* Original light-field treatment inspired by shader-based motion design. */
header{position:relative;z-index:5}.hero{position:relative;isolation:isolate;margin-top:24px;margin-bottom:34px;padding:64px 40px;gap:35px;border-radius:28px;background:#103d34;overflow:hidden;box-shadow:0 24px 60px #153e341a}.hero-copy{position:relative;z-index:2}.hero h1{color:#f7fff4;font-size:clamp(38px,4vw,58px)}.hero h1 span{color:#d3ff9a;text-shadow:0 0 40px #b7fd6b22}.hero .eyebrow{color:#cbe9db}.hero .dash{background:#caf594}.hero .lead{color:#d1e4dc}.hero .stage{color:#c0d6ca}.hero .stage-icon{border-color:#cafa96}.hero .button{background:#d1fc97;color:#14392d;box-shadow:0 0 35px #b2ff6622}.hero .button:hover{background:#e3ffc1;box-shadow:0 0 45px #b2ff6644}.hero canvas,.hero-grain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.hero-grain{background:radial-gradient(ellipse at 12% 35%,#092b29b0,transparent 70%);z-index:1}.hero-art{z-index:2;background:linear-gradient(145deg,#edffe4e8,#d7eee9f5);border:1px solid #e6ffc175;box-shadow:0 0 65px #88f7b72b,inset 0 0 40px #fff9;min-height:510px;transition:transform .5s ease,box-shadow .5s;transform:perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg))}.hero-art .character{position:relative;z-index:1;animation:companion-float 6s ease-in-out infinite}.art-top,.art-caption,.art-note,.effect-controls{position:relative;z-index:3}.art-caption{animation:caption-float 6s ease-in-out infinite}.orbit{position:absolute;width:410px;height:410px;left:50%;top:42%;margin:-205px;border:1px solid #70b78b88;border-radius:50%;pointer-events:none;box-shadow:0 0 45px #bdff6e55,inset 0 0 30px #d6ffaa33;animation:orbit-spin 22s linear infinite}.orbit:before,.orbit:after{content:'';position:absolute;background:#386958;box-shadow:0 0 18px #84de85;border-radius:50%;width:9px;height:9px;left:50%;top:-5px}.orbit:after{left:5%;top:72%;width:5px;height:5px;background:#7baa47}.orbit-two{width:330px;height:330px;margin:-165px;border-style:dashed;border-color:#8dae9b77;animation-direction:reverse;animation-duration:32s}.orbit-star{position:absolute;color:#426d48;z-index:2;font-size:38px;animation:star-drift 7s ease-in-out infinite}.star-one{top:80px;right:30px}.star-two{bottom:145px;left:25px;font-size:28px;animation-delay:-3s}.effect-controls{display:flex;justify-content:center;gap:9px;margin-top:20px}.effect-controls button{border:1px solid #709e75;background:#f9fff0e6;color:#284f3a;border-radius:30px;font-size:12px;padding:7px 13px;min-height:38px}.effect-controls button:first-child{background:#244d3d;color:#edffdb;border-color:#244d3d}.effect-controls button:hover{box-shadow:0 3px 16px #244d3d22}.hero-art .art-note{margin-top:12px}.manifesto{position:relative;overflow:hidden;background:linear-gradient(105deg,#edf7dd,#f3f6f1 55%,#e4f5ed)}.manifesto:after{content:'';position:absolute;width:300px;height:300px;border:1px solid #8dba7860;border-radius:50%;right:-80px;top:-160px;box-shadow:0 0 0 30px #9cce7520,0 0 0 60px #9cce7510;pointer-events:none}.service-grid article{position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,0%),#effadb 0,white 62%)}.service-grid article:hover{transform:translateY(-8px);border-color:#8bb96c;box-shadow:0 18px 32px #183d3310}.service-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e4f3d4;color:#375e35}.service-grid article:after{content:'↗';position:absolute;right:24px;top:28px;font-size:25px;color:#749763}.experience{background:radial-gradient(ellipse at 90% 10%,#d6eebe,transparent 70%),#eaf3ed}.conversation{transition:box-shadow .5s;box-shadow:0 18px 60px #183d3317}.conversation:has(.response:not([hidden])){box-shadow:0 18px 60px #74a24530}.response:not([hidden]){animation:reply-in .55s ease both}.closing{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#3f7860 0,transparent 60%),#123f35}.closing:before,.closing:after{content:'';position:absolute;width:550px;height:550px;border:1px solid #c3f48b40;border-radius:50%;right:-100px;top:-150px;pointer-events:none}.closing:after{width:430px;height:430px;right:-40px;top:-90px;box-shadow:0 0 0 45px #c3f48b09}.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.revealed{opacity:1;transform:translateY(0)}.fx-paused *, .fx-hidden *{animation-play-state:paused!important}.fx-paused .hero-art{transform:none!important}.fx-paused .reveal-ready{opacity:1;transform:none}.fx-paused .service-grid article{transition:none}.fx-paused .service-grid article:hover{transform:none}
@keyframes companion-float{50%{transform:translateY(-9px)}}@keyframes caption-float{50%{transform:rotate(1deg) translateY(-4px)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes star-drift{50%{transform:translateY(-12px) rotate(18deg)}}@keyframes reply-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.hero{padding:45px 26px;gap:24px}.hero h1{font-size:40px}.hero-art{padding:20px;min-height:490px}.hero .lead{font-size:15px}}
@media(max-width:720px){.hero{width:calc(100% - 24px);padding:36px 20px 20px;margin-top:12px;border-radius:22px;gap:32px}.hero h1{font-size:43px}.hero-copy{padding:0 4px}.hero-art{min-height:445px;padding:18px}.hero-art .character{height:300px}.hero .lead{font-size:15px}.hero .stage{font-size:12px}.orbit{width:350px;height:350px;margin:-175px}.orbit-two{width:280px;height:280px;margin:-140px}.effect-controls{margin-top:15px}.star-one{right:18px}.hero-art .art-note{font-size:11px}.service-grid article:hover{transform:none}}
@media(max-width:370px){.hero h1{font-size:36px}.hero{padding-inline:15px}.hero-art .character{height:270px}.hero-art{min-height:420px}.effect-controls button{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.hero-art,.service-grid article:hover{transform:none!important}}

.hero canvas#sparks{z-index:4}.effect-controls{z-index:5}
.fx-outside *{animation-play-state:paused!important}
@media(max-width:480px){header{gap:12px}nav{gap:12px}nav a:nth-child(2){display:none}.effect-controls{flex-wrap:wrap}.hero-copy,.hero-art{min-width:0}}
