
:root{--bg:#f5f6fa;--card:#fff;--tx:#171a2b;--mut:#686c82;--ac:#6558e8;--ac2:#fff;--bd:#e7e8f0;--ok:#16845d;--shadow:0 16px 42px rgba(34,37,77,.08);--shadow-hover:0 22px 54px rgba(49,44,124,.15)}
@media (prefers-color-scheme:dark){:root{--bg:#10111a;--card:#191a27;--tx:#f3f2ff;--mut:#aaaabd;--ac:#9a8cff;--ac2:#171526;--bd:#2c2b40;--ok:#61d6a5;--shadow:0 16px 42px rgba(0,0,0,.2);--shadow-hover:0 22px 54px rgba(0,0,0,.34)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% 4%,rgba(119,103,255,.09),transparent 30rem),var(--bg);color:var(--tx);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--ac) 42%,transparent);outline-offset:3px}
.top{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;padding:10px max(16px,calc((100vw - 1200px)/2));padding-top:calc(10px + env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--bd) 80%,transparent);position:sticky;top:0;z-index:5}
.top .logo{font-weight:800;letter-spacing:-.04em;color:var(--tx);text-decoration:none;font-size:1.15rem}.top .logo:before{content:"";display:inline-block;width:11px;height:11px;margin:0 9px 1px 0;border-radius:3px;background:linear-gradient(135deg,#897aff,#4fc9bd);transform:rotate(-12deg)}.top nav{display:flex;gap:5px;flex:1;flex-wrap:wrap}
.top nav a,.top .cartl{color:var(--mut);text-decoration:none;padding:8px 12px;border-radius:10px;font-size:.9rem;font-weight:600}
.top nav a:hover,.top nav a.on{color:var(--ac);background:color-mix(in srgb,var(--ac) 9%,var(--card))}
.top .cartl{color:var(--tx);border:1px solid var(--bd);transition:all .2s ease}.top .cartl:hover{border-color:var(--ac);color:var(--ac);transform:translateY(-1px)}.top .cartl b{color:var(--ac)}
.top nav a{white-space:nowrap}.menu-toggle{display:none}.quote-link{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 15px;border-radius:11px;background:var(--ac);color:#fff;text-decoration:none;font-size:.88rem;font-weight:750;box-shadow:0 6px 16px color-mix(in srgb,var(--ac) 22%,transparent);transition:transform .2s ease,box-shadow .2s ease}.quote-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px color-mix(in srgb,var(--ac) 30%,transparent)}.quote-link span{font-size:1rem}
.wrap{max-width:1160px;margin:0 auto;padding:28px 24px 64px}.wrap h1{font-size:1.7rem;margin:.3em 0}.sub{color:var(--mut);margin:0 0 18px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:999px;padding:8px 16px;font:inherit;cursor:pointer;transition:all .2s ease}.chip:hover{border-color:var(--ac);transform:translateY(-1px)}.chip.on{background:var(--ac);color:var(--ac2);border-color:var(--ac);box-shadow:0 6px 16px color-mix(in srgb,var(--ac) 25%,transparent)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pc{background:var(--card);border:1px solid var(--bd);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.pc:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--ac) 28%,var(--bd))}
.pimg{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:3.5rem}.pimg img{width:100%;height:100%;object-fit:cover}
.pb{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.pb h3{margin:0;font-size:1.05rem}.pb p{margin:0;color:var(--mut);font-size:.88rem}
.pp small{color:var(--mut);display:block;font-size:.75rem}.pp b{font-size:1.25rem;color:var(--ac)}
.pc label,.fl label{font-size:.8rem;color:var(--mut);display:block;margin:2px 0}
.pc select,.pc input,.fl input,.fl textarea,.fl select{width:100%;padding:9px;border:1px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--tx);font:inherit}
.qty{display:flex;gap:6px}.qty input{text-align:center}.x{background:var(--bg);color:var(--tx);border:1px solid var(--bd);border-radius:10px;padding:0 14px;font:inherit;cursor:pointer;transition:all .18s ease}.x:hover{color:var(--ac);border-color:var(--ac);background:color-mix(in srgb,var(--ac) 8%,var(--bg))}
.btn{width:100%;padding:13px 18px;border:0;border-radius:12px;background:linear-gradient(115deg,var(--ac),#8174f4);color:var(--ac2);font:inherit;font-weight:700;cursor:pointer;margin-top:auto;box-shadow:0 8px 18px color-mix(in srgb,var(--ac) 22%,transparent);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px color-mix(in srgb,var(--ac) 30%,transparent);filter:saturate(1.12)}.btn:active,.action:active{transform:translateY(0) scale(.985)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--tx);color:var(--bg);padding:10px 16px;border-radius:10px;z-index:9}
.cd{background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.cr{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}.cr:last-child{border:0}
.fl{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:560px){.fl{grid-template-columns:1fr}}
.ok{color:var(--ok);font-weight:600}.err{color:#d92d20}.note{color:var(--mut);font-size:.85rem}
.foot{border-top:1px solid var(--bd);padding:22px 16px;color:var(--mut);font-size:.85rem;text-align:center}
.request{max-width:760px;margin:0 auto;padding:20px 16px 40px}
.request .card,.article{background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:20px;margin:14px 0;box-shadow:var(--shadow)}
.request label{display:block;color:var(--mut);font-size:.85rem;margin:10px 0 4px}
.request input,.request textarea{width:100%;padding:12px 14px;border:1px solid var(--bd);border-radius:12px;background:var(--bg);color:var(--tx);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.request input:focus,.request textarea:focus{border-color:var(--ac);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac) 12%,transparent);background:var(--card);outline:0}
.request button{width:100%;padding:14px 18px;border:0;border-radius:12px;background:linear-gradient(115deg,var(--ac),#8174f4);color:var(--ac2);font:inherit;font-weight:700;cursor:pointer;margin-top:14px;box-shadow:0 8px 18px color-mix(in srgb,var(--ac) 22%,transparent);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.request button:hover{transform:translateY(-2px);box-shadow:0 12px 24px color-mix(in srgb,var(--ac) 30%,transparent);filter:saturate(1.12)}
.request button:disabled{opacity:.6;cursor:wait}
.article h2{margin:.1em 0 .4em}.article p{color:var(--mut)}.article h3{margin:1em 0 .35em}
.intro{padding:10px 0 22px}.intro h1{font-size:2rem;line-height:1.2}.intro p{max-width:780px;color:var(--mut);font-size:1.05rem}.intro a,.tech-note a{color:var(--ac)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:center;gap:32px;min-height:450px;margin:8px 0 58px;padding:54px clamp(24px,5vw,64px);overflow:hidden;border:1px solid color-mix(in srgb,var(--ac) 12%,var(--bd));border-radius:30px;background:radial-gradient(ellipse at 82% 45%,rgba(129,116,244,.14),transparent 35%),linear-gradient(125deg,var(--card) 36%,color-mix(in srgb,var(--ac) 4%,var(--card)));box-shadow:var(--shadow)}
.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--ac);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.eyebrow-dot,.art-label-dot{width:8px;height:8px;border-radius:50%;background:#32c5a4;box-shadow:0 0 0 5px rgba(50,197,164,.13)}
.hero h1{margin:20px 0 16px!important;font-size:clamp(2.6rem,5vw,4.5rem)!important;letter-spacing:-.065em;line-height:1.03!important}.hero-accent{color:var(--ac)}.hero-copy>p{max-width:620px;margin:0 0 12px;font-size:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 22px}.action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:13px;text-decoration:none;font-size:.9rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.action:hover{transform:translateY(-2px)}
.action-primary{background:linear-gradient(115deg,var(--ac),#8174f4);color:#fff!important;box-shadow:0 9px 22px color-mix(in srgb,var(--ac) 28%,transparent)}.action-primary:hover{box-shadow:0 14px 28px color-mix(in srgb,var(--ac) 36%,transparent)}
.action-primary span{font-size:1.15rem;transition:transform .2s ease}.action-primary:hover span{transform:translate(2px,-2px)}
.action-secondary{background:var(--card);color:var(--tx)!important;border-color:var(--bd)}.action-secondary:hover{border-color:var(--ac);color:var(--ac)!important}
.hero-proof{display:flex;align-items:center;gap:16px;color:var(--mut);font-size:.8rem}.hero-proof b{color:var(--tx)}.hero-proof i{width:4px;height:4px;border-radius:50%;background:var(--ac)}
.hero-art{position:relative;display:grid;place-items:center;min-height:300px;isolation:isolate}.art-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,rgba(134,117,255,.28),rgba(76,207,187,.2));filter:blur(18px);z-index:-1}
.art-orbit{position:absolute;width:245px;height:245px;border:1px solid color-mix(in srgb,var(--ac) 22%,transparent);border-radius:50%;transform:rotate(-30deg) scaleY(.55)}.orbit-two{width:280px;height:280px;transform:rotate(50deg) scaleY(.48);border-color:color-mix(in srgb,#39bfa9 28%,transparent)}
.art-cube{position:relative;width:150px;height:150px;transform:rotate(-30deg) skew(0deg,8deg);filter:drop-shadow(0 26px 26px rgba(70,57,168,.24));animation:cube-float 5s ease-in-out infinite}
.art-cube span{position:absolute;inset:0;background:linear-gradient(140deg,#9b8cff,#6558e8);clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%)}.art-cube span:nth-child(2){background:linear-gradient(145deg,#786be8,#4f45c7);clip-path:polygon(0 25%,50% 50%,50% 100%,0 75%)}.art-cube span:nth-child(3){background:linear-gradient(140deg,#6255dc,#463bb3);clip-path:polygon(50% 50%,100% 25%,100% 75%,50% 100%)}
@keyframes cube-float{0%,100%{transform:translateY(0) rotate(-30deg) skew(0deg,8deg)}50%{transform:translateY(-10px) rotate(-27deg) skew(0deg,8deg)}}
.art-label{position:absolute;right:2%;bottom:16%;padding:11px 15px;display:flex;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--bd) 80%,transparent);border-radius:13px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-size:.78rem;font-weight:700}
.art-label-dot{width:7px;height:7px}.art-spark{position:absolute;color:#8b7cff;font-size:1.6rem}.spark-one{top:17%;right:19%}.spark-two{bottom:22%;left:10%;color:#48cbb1}
.section-block{margin:4px 0 32px}.section-heading{margin-bottom:22px}.section-heading h2{margin:12px 0 8px;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.12;letter-spacing:-.045em}.section-heading>p{margin:0;color:var(--mut)}
.service-section{margin:14px 0 68px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.service-card{display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:20px;border:1px solid var(--bd);border-radius:18px;background:var(--card);color:var(--tx);text-decoration:none;box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ac) 42%,var(--bd));box-shadow:var(--shadow-hover)}.service-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:13px;background:color-mix(in srgb,var(--ac) 10%,var(--card));color:var(--ac);font-size:1.45rem;font-weight:700}.idea-icon{color:#36a98f;background:rgba(54,169,143,.11)}.photo-icon{color:#dc8b37;background:rgba(220,139,55,.12)}.business-icon{color:#7b66db;background:rgba(123,102,219,.12)}
.service-kicker{color:var(--mut);font-size:.64rem;font-weight:800;letter-spacing:.095em}.service-card h3{margin:7px 0;font-size:1.07rem;letter-spacing:-.02em}.service-card p{flex:1;margin:0 0 15px;color:var(--mut);font-size:.83rem;line-height:1.55}.service-link{display:flex;align-items:center;gap:8px;color:var(--ac);font-size:.8rem;font-weight:750}.service-link b{transition:transform .2s ease}.service-card:hover .service-link b{transform:translateX(4px)}
.reassurance{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;padding:15px 20px;border:1px solid var(--bd);border-radius:14px;background:color-mix(in srgb,var(--card) 75%,transparent);color:var(--mut);font-size:.78rem}.reassurance span{display:flex;gap:8px;align-items:center}.reassurance b{color:var(--ac);font-size:.72rem}.reassurance i{width:4px;height:4px;border-radius:50%;background:var(--bd)}
.process-section{margin:70px 0}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.process-card{padding:21px;border:1px solid var(--bd);border-radius:17px;background:var(--card)}.process-card>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:15px;border-radius:12px;background:color-mix(in srgb,var(--ac) 10%,var(--card));color:var(--ac);font-size:.8rem;font-weight:800}.process-card h3{margin:0 0 7px;font-size:1rem}.process-card p{margin:0;color:var(--mut);font-size:.86rem}
.closing-cta{display:flex;align-items:center;justify-content:space-between;gap:26px;margin:64px 0 12px;padding:30px clamp(22px,4vw,42px);border:1px solid color-mix(in srgb,var(--ac) 17%,var(--bd));border-radius:22px;background:radial-gradient(ellipse at 86% 20%,rgba(119,103,255,.15),transparent 40%),var(--card);box-shadow:var(--shadow)}.closing-cta h2{margin:9px 0 6px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;letter-spacing:-.04em}.closing-cta p{margin:0;color:var(--mut);font-size:.9rem}.closing-actions{display:flex;gap:10px;flex-shrink:0}.closing-actions .action{white-space:nowrap}
.technology{margin:4px 0 32px}.technology>h2,.wrap>section>h2{font-size:1.35rem;margin:0 0 12px}
.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tech-card{position:relative;background:linear-gradient(150deg,var(--card),color-mix(in srgb,var(--ac) 2%,var(--card)));border:1px solid var(--bd);border-radius:22px;padding:24px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--ac) 32%,var(--bd))}
.tech-card h3{margin:4px 0 8px;font-size:1.35rem;letter-spacing:-.025em}.tech-card p,.tech-note{color:var(--mut)}
.tech-icon{position:relative;display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--ac) 16%,var(--bd));border-radius:16px;background:color-mix(in srgb,var(--ac) 9%,var(--card))}
.fdm-icon span{position:absolute;width:25px;height:5px;border:1.5px solid var(--ac);border-radius:3px}.fdm-icon span:nth-child(1){transform:translateY(-8px)}.fdm-icon span:nth-child(3){transform:translateY(8px)}
.sla-icon:before{content:"";position:absolute;top:10px;width:19px;height:19px;border:2px solid #42bfa8;border-radius:50%}.sla-icon span{position:absolute;bottom:10px;width:24px;height:2px;border-radius:2px;background:#42bfa8}.sla-icon span:nth-child(2){bottom:15px;width:18px}.sla-icon span:nth-child(3){bottom:20px;width:12px}
.tech-tag{color:var(--ac);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.materials{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.materials li{display:flex;flex-direction:column;gap:4px;border:1px solid var(--bd);background:color-mix(in srgb,var(--bg) 75%,var(--card));border-radius:12px;padding:11px 13px;transition:border-color .2s ease,transform .2s ease}.materials li:hover{border-color:color-mix(in srgb,var(--ac) 40%,var(--bd));transform:translateY(-2px)}
.materials li strong{font-size:.98rem}.materials li span{color:var(--mut);font-size:.86rem;font-weight:400;line-height:1.45}
.tech-note{margin:16px 2px 0;font-size:.9rem}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.hero{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:12px;padding:40px 30px}.art-cube{transform:scale(.82) rotate(-30deg) skew(0deg,8deg)}.closing-cta{align-items:flex-start;flex-direction:column}.closing-actions{flex-wrap:wrap}}
@media(max-width:700px){.top{gap:4px 8px}.top .logo{width:100%}.top nav{order:2;flex-basis:100%}.top nav a{padding:6px 8px;font-size:.9rem}.top .cartl{position:absolute;right:12px;top:10px}.wrap{padding:22px 16px 48px}}
@media(max-width:680px){.top{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px))}.top .logo{width:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:9px;border:1px solid var(--bd);border-radius:11px;background:var(--card);cursor:pointer}.menu-toggle span{width:100%;height:2px;border-radius:2px;background:var(--tx);transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}.top nav{display:none;order:initial;grid-column:1/-1;flex-basis:auto;padding:8px 0 4px}.top nav.open{display:grid;grid-template-columns:1fr 1fr;gap:4px}.top nav a{padding:10px 12px}.quote-link{min-height:40px;padding:8px 11px;font-size:.8rem}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:250px;padding:16px}.process-grid{grid-template-columns:1fr}.reassurance{justify-content:flex-start;gap:10px 14px}.reassurance i{display:none}}
@media(max-width:600px){.hero{grid-template-columns:1fr;gap:0;min-height:unset;margin:4px 0 42px;padding:32px 22px 20px;border-radius:24px}.hero h1{font-size:clamp(2.2rem,10vw,3.15rem)!important}.hero-art{min-height:205px;margin-top:4px}.art-cube{transform:scale(.7) rotate(-30deg) skew(0deg,8deg)}.orbit-one{width:190px;height:190px}.orbit-two{width:220px;height:220px}.art-glow{width:170px;height:170px}.art-label{right:1%;bottom:8%}.spark-one{top:10%;right:22%}.spark-two{bottom:12%;left:18%}.hero-proof{gap:9px;font-size:.72rem}.hero-actions{gap:9px}.action{flex:1;padding:11px 12px;font-size:.82rem}.tech-grid{grid-template-columns:1fr}.tech-card{padding:20px}.materials{grid-template-columns:1fr 1fr}.service-section{margin-bottom:48px}.process-section{margin:50px 0}.closing-cta{margin-top:48px;padding:24px 20px}.closing-actions{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
