:root{--purple:#7047eb;--violet:#a382ff;--ink:#191522;--orange:#f28a45;--paper:#f7f5fc;--muted:#b9b2c8;--line:#343044;--font:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.dark{background:#16121f;color:#fff}header{display:flex;justify-content:space-between;align-items:center;padding-top:24px;padding-bottom:24px}.brand{display:flex;flex-direction:column;align-items:center;gap:2px}.brand img{width:84px;height:48px;object-fit:contain}.brand span{font-size:12px;letter-spacing:6px;line-height:1.2;padding-left:6px;font-weight:700}nav{display:flex;gap:34px;font-size:15px}nav a{position:relative;padding:8px 0}nav a:hover,nav a.active{color:var(--violet)}nav a.active:after{content:'';position:absolute;bottom:0;left:0;width:22px;height:2px;background:var(--purple)}.menu-toggle{display:none}.hero{min-height:460px;display:grid;grid-template-columns:1.25fr 1fr;gap:25px;align-items:center;padding-top:45px;padding-bottom:60px}.eyebrow{font-weight:700;font-size:12px;letter-spacing:2.8px;color:var(--purple);margin:0 0 18px}.dark .eyebrow{color:#b5a0f3}.hero h1{font-size:clamp(34px,3.7vw,51px);line-height:1.13;letter-spacing:-1.8px;margin:0 0 24px;font-weight:750}.hero h1 span,.contact h2 span{color:var(--violet)}.lead{font-size:18px;max-width:500px;color:#ddd7e8;margin:0 0 28px}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:6px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white}.primary:hover{background:#8158f4}.outline{background:transparent;color:white;border-color:#9e8bc3}.outline:hover{background:#272033}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.hero-art img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 20px 40px #0003)}.expertise{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:38px;gap:24px}.expertise>div{display:flex;gap:16px;align-items:center;border-right:1px solid var(--line)}.expertise>div:last-child{border:0}.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;border:1px solid #3d3155;color:var(--violet);font-size:14px;font-weight:700;flex-shrink:0}.expertise h2{font-size:16px;margin:0 0 2px}.expertise p{font-size:14px;color:var(--muted);margin:0}.section{padding-top:70px;padding-bottom:70px}.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:34px}.section-head h2,.about h2{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:0}.section-head>p{color:#625970;font-size:15px;margin:0;max-width:340px}.section-head .eyebrow{margin-bottom:12px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{background:#191522;color:#fff;border-radius:8px;overflow:hidden;border:1px solid #30263f}.project-info{padding:26px 26px 22px}.project-info h3{font-size:25px;letter-spacing:-.6px;margin:0 0 6px;line-height:1.3}.project-info p{color:#d6cee2;font-size:15px;margin:0 0 14px;max-width:400px}.status{display:inline-block;color:var(--orange);font-size:10px;letter-spacing:1.5px;border:1px solid #925731;border-radius:20px;padding:4px 10px}.demo{margin:0 18px;min-height:260px;display:grid;grid-template-columns:100px 1fr;border:1px solid #3e3350;border-radius:8px;background:#211b2c;overflow:hidden;font-size:12px}.demo aside{border-right:1px solid #3e3350;padding:18px 10px;display:flex;flex-direction:column;gap:15px;background:#1c1727}.demo aside strong{font-size:11px;margin-bottom:8px}.demo aside span{padding:6px;font-size:10px;color:#b4a7c8}.demo aside .selected{background:#51368f;color:#eee4ff;border-radius:4px}.demo-content{padding:18px 14px;min-width:0}.demo-title{display:flex;justify-content:space-between;gap:5px;align-items:center;margin-bottom:14px}.demo-title small{font-size:9px;color:#a798bd}.metric-row{display:flex;gap:10px;margin-bottom:12px}.metric-row>div{background:#2b2339;border-radius:5px;padding:10px;flex:1}.metric-row small{display:block;color:#b7abc9;font-size:10px}.metric-row b{font-size:26px;line-height:1.3}.chart{background:#2b2339;padding:12px;border-radius:5px}.chart>small{display:block;font-size:10px;margin-bottom:12px}.bar-row{display:grid;grid-template-columns:50px 1fr 26px;align-items:center;gap:7px;margin-top:8px;font-size:9px}.bar-row i{height:6px;background:var(--purple);width:var(--bar);border-radius:5px}.bar-row b{font-weight:400;color:#b5a6c9}.question{font-size:10px;background:#45315d;border-radius:6px;padding:10px;margin-bottom:15px}.answer{display:flex;gap:9px;color:#ddd5e8}.answer p{margin:0;font-size:10px;line-height:1.8}.spark{background:#5b38a1;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:9px;flex-shrink:0}.source-box{background:#2b2339;border-radius:5px;padding:12px;margin-top:16px;font-size:9px}.source-box strong{font-size:10px}.source-box p{margin:8px 0}.source-box span{display:inline-block;background:#45385a;border-radius:3px;padding:1px 5px;margin-right:5px}.source-box small{font-size:9px;color:#b6a6ca}.project-foot{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.project-foot>span{font-size:11px;color:#b5a7c7}.text-button{font-size:12px;background:transparent;border:0;padding:4px 0;color:#c3a9ff;white-space:nowrap}.text-button:hover{text-decoration:underline}.demo-note{font-size:12px;color:#7d728c;text-align:right;margin:15px 0 0}.about{background:#ede9f6;border-top:1px solid #e0d9ee;border-bottom:1px solid #e0d9ee}.about-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.about p{color:#655b74}.about .eyebrow{color:var(--purple)}.about .about-lead{font-size:20px;line-height:1.65;color:#332a42;margin-top:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags span{border:1px solid #cfc2e6;padding:5px 11px;font-size:12px;border-radius:5px;color:#645078}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-grid article{padding:26px;border:1px solid #e1d9ef;border-radius:7px;background:#fcfaff}.service-number{display:inline-grid;place-items:center;width:40px;height:40px;background:#ece4ff;color:var(--purple);border-radius:6px;font-size:14px;font-weight:700}.service-number.orange{color:#c66122;background:#ffeadc}.service-grid h3{font-size:18px;margin:18px 0 10px;line-height:1.4}.service-grid p{font-size:15px;color:#655a76;margin:0}.contact{padding:65px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.contact h2{font-size:36px;line-height:1.2;letter-spacing:-1px;margin:0}.contact-grid>div>p:not(.eyebrow){color:#c3b7d3;margin:0 0 23px;font-size:16px}.footer-inner{border-top:1px solid #30263f;padding:24px 0;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#9f91b4}dialog{width:min(560px,calc(100% - 32px));border:1px solid #d9ceeb;border-radius:12px;padding:34px;color:var(--ink);background:var(--paper);max-height:90vh;overflow:auto}dialog::backdrop{background:#100a1dba;backdrop-filter:blur(5px)}dialog h2{font-size:28px;line-height:1.2;margin:0 25px 18px 0}dialog p,dialog li{font-size:15px;color:#665975}dialog h3{font-size:17px}.close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:28px;color:#6c5d7d}.dialog-done{margin-top:25px}form label{display:block;margin:17px 0;font-size:14px;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cfc3df;border-radius:5px;background:white;color:#241c31;font-size:15px}textarea{resize:vertical}.form-status{min-height:24px}.form-status.success{color:#5e379b}@media(min-width:1500px){.hero{min-height:490px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero h1{font-size:39px}.hero{grid-template-columns:1.2fr 1fr}.lead{font-size:16px}.demo{grid-template-columns:78px 1fr}.demo aside{padding:15px 5px}.project-foot{flex-direction:column;align-items:start}.section-head h2,.about h2,.contact h2{font-size:31px}.service-grid article{padding:22px}.contact-grid{gap:35px}.about-grid{gap:30px}.expertise p{font-size:12px}}@media(max-width:720px){.wrap{width:calc(100% - 40px)}header{padding-top:18px;position:relative}.menu-toggle{display:block;background:transparent;color:white;border:1px solid #5e4b7c;border-radius:5px;padding:7px 15px;font-size:14px}nav{display:none;position:absolute;right:0;top:85px;z-index:5;background:#231a32;border:1px solid #4c3b63;padding:18px 28px;border-radius:8px;min-width:170px}nav.open{display:flex;flex-direction:column;gap:8px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:35px;gap:22px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:38px;letter-spacing:-1.3px}.hero .eyebrow{font-size:10px;letter-spacing:1.8px}.hero-art{max-width:310px;width:80%;margin:8px auto 0}.expertise{grid-template-columns:1fr;padding-bottom:32px;gap:18px}.expertise>div{border-right:0}.expertise p{font-size:14px}.section{padding-top:45px;padding-bottom:45px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-top:16px}.section-head h2,.about h2,.contact h2{font-size:32px}.project-grid,.service-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.demo{grid-template-columns:83px 1fr;min-height:255px}.project-info{padding:24px 22px 20px}.project-info h3{font-size:24px}.project-foot{flex-direction:row;padding:18px}.project-foot>span{font-size:10px}.demo-note{text-align:left}.about-grid{gap:15px}.about .about-lead{font-size:18px}.service-grid article{padding:24px}.contact{padding:45px 0}.contact-grid{gap:26px}.footer-inner{flex-direction:column;gap:8px}.desktop{display:none}dialog{padding:28px 23px}.actions .button{font-size:13px;padding:12px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Folded paper corners, shared across projects and services. */
.project-card,.service-grid article{position:relative;--fold:30px;clip-path:polygon(0 0,calc(100% - var(--fold)) 0,100% var(--fold),100% 100%,0 100%)}
.project-card::after,.service-grid article::after{content:"";position:absolute;top:0;right:0;width:var(--fold);height:var(--fold);background:var(--purple);clip-path:polygon(0 0,0 100%,100% 100%);border-bottom-left-radius:3px;pointer-events:none}
.project-card:first-child::after,.service-grid article:last-child::after{background:var(--orange)}
.project-info{padding-right:42px}
.service-grid article{--fold:26px;border-radius:6px}
.service-icon{display:inline-grid;place-items:center;width:46px;height:46px;background:#ece4ff;color:var(--purple);border-radius:8px}
.service-icon.orange{color:#cf6326;background:#ffeadc}
@media(max-width:720px){.project-card{--fold:26px}.service-grid article{--fold:24px}}

/* Section labels echo the short editorial rules in the visual reference. */
section .eyebrow{display:flex;align-items:center;gap:16px}
section .eyebrow::before{content:"";display:block;width:32px;height:2px;background:var(--purple);flex-shrink:0}
.hero .eyebrow{display:block}
.hero .eyebrow::before{display:none}
.dark section .eyebrow::before,section.dark .eyebrow::before{background:var(--violet)}
.icon svg{display:block;flex-shrink:0}

.faq{border-top:1px solid #e1d9ef}
.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid #e1d9ef;border-radius:7px;background:#fcfaff;overflow:hidden}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 26px;cursor:pointer;font-size:17px;font-weight:600;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--purple);background:#f2ecff}
.faq-item summary:focus-visible{outline:3px solid var(--purple);outline-offset:-3px}
.faq-toggle{position:relative;width:22px;height:22px;flex-shrink:0;color:var(--purple)}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;background:currentColor;border-radius:1px}
.faq-toggle::before{width:14px;height:2px;left:4px;top:10px}
.faq-toggle::after{width:2px;height:14px;left:10px;top:4px}
.faq-item[open] .faq-toggle::after{display:none}
.faq-item[open] summary{color:var(--purple)}
.faq-answer{padding:0 26px 24px;max-width:900px}
.faq-answer p{margin:0;font-size:16px;line-height:1.8;color:#655a76}
@media(max-width:1000px) and (min-width:721px){nav{gap:20px;font-size:14px}}
@media(max-width:720px){.faq-item summary{font-size:16px;padding:20px}.faq-answer{padding:0 20px 20px}nav{min-width:220px}}

/* Persistent navigation and complete dark palette. */
html{scroll-padding-top:116px}
.intro{padding-top:96px}
header.wrap{position:fixed;inset:0 0 auto;z-index:100;width:100%;height:96px;margin:0;padding:16px max(48px,calc((100vw - 1200px)/2));background:rgba(22,18,31,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff12;gap:24px}
header .brand{flex-shrink:0;margin-right:auto}
header nav{margin-left:auto}
.theme-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;flex-shrink:0;border:1px solid #514364;border-radius:7px;background:#251c34;color:#d6c3ff}
.theme-toggle:hover{background:#37274d}
.sun-icon{display:none}
[data-theme="dark"] .sun-icon{display:block}
[data-theme="dark"] .moon-icon{display:none}
[data-theme="dark"]{--paper:#191522;--ink:#f1edf8}
[data-theme="dark"] body{background:#191522;color:#f1edf8}
[data-theme="dark"] .section-head>p,[data-theme="dark"] .about p,[data-theme="dark"] .service-grid p,[data-theme="dark"] .faq-answer p{color:#beb3cc}
[data-theme="dark"] .about{background:#211a2d;border-color:#3a2d4c}
[data-theme="dark"] .about .about-lead{color:#eee5f7}
[data-theme="dark"] .service-grid article,[data-theme="dark"] .faq-item{background:#241c30;border-color:#443353}
[data-theme="dark"] .service-icon{background:#34244e;color:#bc9cff}
[data-theme="dark"] .service-icon.orange{background:#432c22;color:#ffb17d}
[data-theme="dark"] .tags span{border-color:#58406f;color:#cbb4e5}
[data-theme="dark"] .faq{border-color:#3a2d4c}
[data-theme="dark"] .faq-item summary:hover{background:#332443;color:#c6a7ff}
[data-theme="dark"] .eyebrow,[data-theme="dark"] .about .eyebrow,[data-theme="dark"] .faq-item[open] summary,[data-theme="dark"] .faq-toggle{color:#b99bff}
[data-theme="dark"] .demo-note{color:#b0a2c0}
[data-theme="dark"] dialog{background:#241c30;color:#f1edf8;border-color:#58406f}
[data-theme="dark"] dialog p,[data-theme="dark"] dialog li{color:#c9bdd7}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#191322;color:#eee5f7;border-color:#604976}
[data-theme="dark"] .close{color:#d2bde7}
[data-theme="dark"] .form-status.success{color:#c7a4ff}
/* Viewport-owned Liquid Glass navigation, outside hero stacking contexts. */
:root{--header-height:96px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.intro{padding-top:var(--header-height)}
body>header.wrap{position:fixed;top:0;right:0;bottom:auto;left:0;z-index:1000;isolation:isolate;transform:none;height:auto;min-height:96px;box-sizing:border-box;color:#f8f4ff;background:rgba(22,18,31,.86);-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);border-bottom:1px solid rgba(215,199,255,.25);box-shadow:0 8px 30px rgba(14,8,27,.18),inset 0 1px 0 rgba(255,255,255,.16)}
body>header.wrap::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.1),transparent 42%,rgba(149,108,255,.07));border-bottom:1px solid rgba(255,255,255,.08)}
[data-theme="light"] body>header.wrap{color:#292033;background:rgba(247,245,252,.88);border-bottom-color:rgba(112,71,235,.2);box-shadow:0 8px 28px rgba(36,20,59,.12),inset 0 1px 0 rgba(255,255,255,.9)}
[data-theme="light"] header nav a:hover,[data-theme="light"] header nav a.active{color:#653bd3}
[data-theme="light"] .theme-toggle,[data-theme="light"] .menu-toggle{background:rgba(255,255,255,.48);color:#563387;border-color:#c3b2dd}
[data-theme="light"] .theme-toggle:hover{background:#eee6ff}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body>header.wrap{background:#191522}[data-theme="light"] body>header.wrap{background:#f7f5fc}}
@media(max-width:900px){header.wrap{padding:12px 20px;gap:12px}body>header.wrap{min-height:84px}header .brand{order:0}header .menu-toggle{display:block;order:3}header .theme-toggle{order:2}header nav{display:none;position:absolute;top:calc(100% + 8px);right:20px;left:auto;min-width:220px;margin:0;padding:18px 24px;z-index:1;background:rgba(27,20,39,.96);color:#f6efff;border:1px solid #665078;border-radius:12px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 12px 32px #0003}header nav.open{display:flex;flex-direction:column;gap:8px}[data-theme="light"] header nav{background:rgba(247,245,252,.97);color:#292033;border-color:#cdbce4}html{scroll-padding-top:calc(var(--header-height) + 24px)}.intro{padding-top:var(--header-height)}}
@media(max-width:1000px){header.wrap{padding-inline:28px;gap:18px}header nav{gap:17px}}
@media(max-width:720px){header.wrap{padding:12px 20px;gap:12px}header .brand{order:0}.theme-toggle{order:2;width:40px;height:40px}.menu-toggle{order:3}}

.language-control{display:block;flex-shrink:0}
.language-control select{width:68px;height:42px;min-width:0;margin:0;padding:8px 10px;border:1px solid #514364;border-radius:7px;background:rgba(37,28,52,.8);color:#eee4ff;font-size:14px;font-weight:600;cursor:pointer}
[data-theme="light"] .language-control select{background:rgba(255,255,255,.55);color:#563387;border-color:#c3b2dd}
@media(min-width:901px){header.wrap{gap:16px}header nav{gap:23px}}
@media(max-width:900px){.language-control{order:1}.language-control select{height:40px;width:62px}header.wrap{gap:10px}}
@media(max-width:380px){header.wrap{padding-inline:12px;gap:7px}header .brand img{width:65px;height:40px}.menu-toggle{padding:7px 10px}}
