/* Elkframe / Afterglow. Original CSS artwork, progressively enhanced motion. */
:root{color-scheme:dark;--ink:#f6f4ff;--muted:#b7b4c9;--line:#ffffff20;--panel:#171522;--violet:#b795ff;--cyan:#83eee0}
body{background:#0c0b14;color:var(--ink);isolation:isolate}
body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 35%,#44245e22,transparent 50%),radial-gradient(ellipse at 0 80%,#1b73741a,transparent 45%)}
p{color:var(--muted)}::selection{background:#b795ff;color:#100c1d}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--cyan)}
.topline{background:#141020;color:#cac1df;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.08em}
header{background:#0c0b14dd;border-color:var(--line);backdrop-filter:blur(18px)}
nav{height:88px}.brand{letter-spacing:-1.5px}.brand-mark{color:var(--cyan)}.brand>span{color:var(--violet)}
.nav-links a:hover,.text-link:hover,.service-row:hover h3{color:var(--cyan)}
.button{background:var(--violet);color:#160e28;border:1px solid var(--violet);border-radius:100px;padding:17px 25px;box-shadow:0 0 25px #ae84ff16;transition:background .2s,box-shadow .2s,transform .2s}
.button:hover{background:#cbb3ff;color:#160e28;box-shadow:0 0 40px #ae84ff40;transform:translateY(-2px)}
.button.light{background:#c8f9ef;color:#102b29;border-color:#c8f9ef}.button.light:hover{background:white;color:#102b29}
.text-link{border-color:#ffffff45}.eyebrow{color:#bfb1db;letter-spacing:.16em}.eyebrow:before{background:var(--cyan);box-shadow:0 0 16px #83eee099}
h1,h2,h3{letter-spacing:-.055em;font-weight:500}.section{padding:110px 0}
.hero{padding:88px 0 0;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% -15%,#4c1a564d,transparent 65%)}
.hero-center{position:relative;text-align:center;z-index:1}.hero-center>.eyebrow{justify-content:center;font-size:10px;margin-bottom:28px}
.hero h1{font-size:clamp(60px,7.7vw,112px);line-height:1.02;max-width:1020px;margin:0 auto;letter-spacing:-.065em}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:500;letter-spacing:inherit;background:linear-gradient(100deg,#c7a5ff 10%,#a7cbff 55%,#84efda);color:transparent;background-clip:text}
.hero-intro{font-size:18px;max-width:650px;line-height:1.75;margin:30px auto}.hero-buttons{justify-content:center;gap:30px}.hero-foot{justify-content:center;color:#a7a0bb;margin-top:25px}.hero-foot i{background:var(--cyan);box-shadow:0 0 12px #83eee0}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hero-atmosphere>span{position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(48px);opacity:.36;animation:ambient-drift 12s ease-in-out infinite alternate}
.hero-atmosphere>span:nth-child(1){background:#b135d3;left:0;top:16%}.hero-atmosphere>span:nth-child(2){background:#177b94;right:0;top:28%;animation-delay:-5s}.hero-atmosphere>span:nth-child(3){background:#6449ef;left:45%;bottom:-70px;width:350px}
.horizon-grid{position:absolute;inset:0;background-image:linear-gradient(#b59bdb0c 1px,transparent 1px),linear-gradient(90deg,#b59bdb0c 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse at center,transparent 20%,#000 100%)}
.constellation{position:relative;height:400px;max-width:1000px;margin:35px auto 0;perspective:1000px}
.orbit{position:absolute;left:50%;top:49%;border:1px solid #c5a8ff28;border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg);width:78%;height:260px}.orbit-two{width:58%;height:330px;transform:translate(-50%,-50%) rotate(28deg);border-color:#8de9dc20}
.studio-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 25%,#74619570,#181323 65%);border:1px solid #c4a4ff50;box-shadow:0 0 100px #8c51df35,inset 0 0 45px #c9a9ff18;gap:10px}
.studio-core .brand-mark{width:45px;height:50px}.studio-core>span{font-size:25px;font-weight:700;letter-spacing:-1px}.studio-core small{font-size:7px;letter-spacing:.18em;color:#b9a7d3}
.float-card{position:absolute;display:flex;align-items:center;gap:15px;text-align:left;padding:20px 24px;border:1px solid #ffffff2b;border-radius:18px;background:linear-gradient(130deg,#30223cf2,#171b29f2);box-shadow:0 20px 60px #0004;backdrop-filter:blur(12px);animation:card-float 7s ease-in-out infinite}
.float-card b{display:block;font-size:13px;font-weight:500;line-height:1.4}.float-card small{display:block;font-size:7px;letter-spacing:.1em;color:#bdb1ce;margin-top:7px}.float-web{left:1%;top:35px;transform:rotate(-7deg);--angle:-7deg}.float-ai{right:0;top:90px;--angle:5deg;transform:rotate(5deg);animation-delay:-2s}.float-local{left:19%;bottom:30px;--angle:-3deg;transform:rotate(-3deg);animation-delay:-4s}
.float-icon{color:var(--cyan);font-size:30px}.float-local .flag{width:30px;height:15px}.status-dot,.orbit-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}
.orbit-dot{position:absolute}.dot-a{left:25%;top:43%}.dot-b{right:22%;bottom:17%;background:var(--violet)}.mini-bars{display:flex;align-items:end;gap:4px;height:32px;margin-left:14px}.mini-bars i{width:5px;height:35%;border-radius:4px;background:linear-gradient(var(--cyan),#8662e5)}.mini-bars i:nth-child(2){height:55%}.mini-bars i:nth-child(3){height:45%}.mini-bars i:nth-child(4){height:80%}.mini-bars i:nth-child(5){height:100%}
.proof-strip{border-color:var(--line);background:#17122266;border-radius:24px;padding:28px 35px;gap:25px;margin-top:4px}.proof-strip strong{color:#e6d8ff;font-size:36px}.proof-strip span,.proof-strip p{color:var(--muted)}
.filters button{border-color:#ffffff25;color:#c6c1d6;min-height:44px}.filters button[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:#160e28}.filters button:hover{box-shadow:0 0 0 1px var(--violet)}
.project-art{border-radius:24px;background:linear-gradient(135deg,#202c35,#283b40);border-color:var(--line);color:#e8f4ed}.project:nth-child(2) .project-art{background:linear-gradient(135deg,#342538,#583d48)}.project:nth-child(3) .project-art{background:linear-gradient(135deg,#2a2345,#423252)}.project:nth-child(4) .project-art{background:linear-gradient(135deg,#18313a,#28535a)}
.project-art:after{background:#f4efff;color:#21172e}.project-art .project-caption{color:#dbd4e8}.project-shot{border-color:#eae5f0;box-shadow:0 30px 50px #0006}.project-meta h3{font-size:28px}.project-meta small{color:#bdb1d2}.project .case-link{border-color:#736284;color:#d7c0ff}
.pulse-feature{background:radial-gradient(ellipse at 80% 80%,#24595d55,transparent 70%),#171521;border:1px solid var(--line);border-radius:24px}.pulse-copy p{color:var(--muted)}.tags span{border-color:#ffffff30;color:#d1c5e1}.phone-stage{background:radial-gradient(ellipse at center,#6a4b8f55,transparent 70%)}
.watch-feature{background:linear-gradient(130deg,#211a30,#12282c);border-color:var(--line);border-radius:24px}.watch-copy h3{font-size:48px}.watch-benefits>div{border-color:var(--line)}.watch-cover{border:1px solid var(--line)}
.services{background:radial-gradient(ellipse at 15% 50%,#34205155,transparent 65%),#11101b;border-block:1px solid var(--line)}.service-row{border-color:var(--line);transition:padding .25s}.service-row:last-child{border-color:var(--line)}.service-row:hover{padding-left:12px}.service-row .num{color:var(--violet)}
.local-map{background:#242039;border:1px solid #c6a1ff25;border-radius:32px}.local-map>svg{filter:hue-rotate(100deg) saturate(.55) brightness(.65)}.map-tag{background:#231e32;color:white;border:1px solid #ffffff25}.map-tag span{color:#c8bed6}.map-footer{color:#e2d8ed}
.ai-section{background:radial-gradient(ellipse at 0 30%,#48274b55,transparent 70%),#171220;border-block:1px solid var(--line)}.ai-section p{color:var(--muted)}.ai-list div{border-color:var(--line)}.ai-demo{background:linear-gradient(135deg,#272035,#171e2b);color:var(--ink);border:1px solid #b795ff45;border-radius:24px;box-shadow:0 25px 90px #8f4edb14}.ai-demo .demo-note{color:#c2b6d6}.ai-demo blockquote{background:#ffffff09;border:1px solid var(--line)}.ai-demo .summary{border-color:#ffffff25}.ai-demo .pill{background:#20423e;color:#a6f4e2}
.process>div{border:1px solid var(--line);padding:28px;border-radius:20px;background:linear-gradient(135deg,#21182c88,#15192366)}.process small{color:var(--violet)}.process h3{font-size:25px}.about{border-color:var(--line)}.portrait{background:radial-gradient(circle at 20% 10%,#75408066,transparent 65%),linear-gradient(140deg,#292039,#14252c);border:1px solid var(--line);border-radius:28px}.portrait .initials{color:#d8b9ff}.portrait:before,.portrait:after{border-color:#c0a4ee30}.portrait-caption{color:#c9b8db}.experience{border-color:var(--line)}.faq details,.faq details:last-child{border-color:var(--line)}.faq summary:after{color:var(--violet)}
.contact{background:radial-gradient(ellipse at 10% 30%,#67356335,transparent 65%),radial-gradient(ellipse at 90% 100%,#2a626b40,transparent 60%),#171221;border-block:1px solid var(--line)}.contact-links a{border-color:#8d73a6}.contact-links a:hover{color:var(--cyan)}input,select,textarea{background:#0e0d18;color:var(--ink);border-color:#655474;border-radius:10px}input:hover,select:hover,textarea:hover{border-color:var(--violet)}
.footer{background:#0b0a12}.footer-bottom{border-color:var(--line);color:#b1a5c3}.large-wordmark{color:#282032}.footer-links a:hover{color:var(--cyan)}
.detail-hero{position:relative}.detail-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 25% 0,#713c7533,transparent 70%)}.breadcrumbs{color:#afa2c3}.detail-aside{background:linear-gradient(135deg,#211b2d,#151e27);border:1px solid var(--line);border-radius:22px}.detail-body ul{color:var(--muted)}dialog{background:#1a1526;color:var(--ink);border:1px solid #b795ff66;max-width:min(95vw,1100px)}dialog::backdrop{background:#080510dd}dialog button{background:var(--violet);color:#160e28}
.reveal-visible{animation:reveal-in .7s ease both}
@keyframes reveal-in{from{opacity:.2;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-float{0%,100%{transform:translateY(0) rotate(var(--angle,0deg))}50%{transform:translateY(-12px) rotate(var(--angle,0deg))}}
@keyframes ambient-drift{to{transform:translate(35px,-25px)}}
@media(max-width:1100px){.process{gap:18px}.process>div{padding:22px}.float-web{left:0}.float-ai{right:0}.project-art{height:520px}}
@media(max-width:800px){nav{height:76px}.nav-links{top:76px;background:#171222;border-bottom:1px solid var(--line)}.menu-toggle{background:transparent;border-color:#ffffff40;color:var(--ink);border-radius:50px}.hero{padding-top:60px}.hero h1{font-size:clamp(50px,9vw,76px)}.hero-center>.eyebrow{font-size:9px;line-height:1.6}.hero-intro{font-size:16px;max-width:560px}.hero-foot{font-size:10px}.constellation{height:400px;margin-top:32px}.studio-core{width:150px;height:150px}.studio-core .brand-mark{width:32px;height:36px}.studio-core>span{font-size:21px}.studio-core small{font-size:5px}.float-card{padding:15px;gap:10px}.float-card b{font-size:11px}.float-card small{font-size:6px}.float-web{top:15px;left:0}.float-ai{top:220px;right:0}.float-local{left:2%;bottom:15px}.mini-bars{display:none}.float-icon{font-size:24px}.section{padding:70px 0}.proof-strip{padding:25px}.watch-copy h3{font-size:34px}}
@media(max-width:480px){.hero{padding-top:45px}.hero h1{font-size:52px;line-height:1.08}.hero-intro{font-size:15px;margin:24px auto}.hero-buttons{flex-direction:column;gap:12px}.hero-buttons .button{width:100%;max-width:340px;justify-content:center}.hero-foot{font-size:9px;line-height:1.6;gap:8px}.constellation{height:390px;margin-top:25px}.studio-core{top:47%;width:140px;height:140px}.float-web{top:10px;left:0}.float-ai{top:auto;bottom:65px;right:0}.float-local{bottom:0;left:0}.float-card{padding:12px 15px}.orbit{width:100%;height:235px}.orbit-two{width:70%;height:300px}.proof-strip{gap:14px;padding:22px 18px}.proof-strip strong{font-size:27px}.proof-strip span{font-size:10px}.project-art{height:480px}.project-meta h3{font-size:25px}.process{grid-template-columns:1fr}.process h3{margin:16px 0 12px}.contact h2{font-size:43px}.contact-links{font-size:16px}.button{gap:20px}.watch-copy h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.project:nth-child(5) .project-art{background:radial-gradient(ellipse at 75% 30%,#21718c55,transparent 65%),linear-gradient(135deg,#102735,#1b3d50)}
