
:root{--blue:#1769ff;--blue-dark:#0d47bf;--ink:#0a0a0a;--muted:#4f5c70;--line:#e6ebf4;--surface:#f6f9fe;--photo-strip:url('assets/concept-photos.webp')}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#fff}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.container{width:min(100% - 64px,1280px);margin-inline:auto}
.site-header{position:relative;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #f2f4f8}
.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{flex:none;display:inline-flex;align-items:center}
.brand img{width:174px;height:auto}
.main-nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.main-nav a{font-size:13px;font-weight:600;color:#273348;padding:10px 0;position:relative;transition:color .2s}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.active{color:var(--blue)}
.main-nav a.active::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 24px;border:0;border-radius:10px;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.button svg{width:17px;height:17px;stroke-width:2.2}
.button:hover{transform:translateY(-2px)}
.button:focus-visible,.main-nav a:focus-visible,.menu-toggle:focus-visible,.site-footer a:focus-visible{outline:3px solid #8db7ff;outline-offset:4px}
.button-primary{background:var(--blue);color:white;box-shadow:0 8px 19px rgba(23,105,255,.16)}
.button-primary:hover{background:var(--blue-dark);box-shadow:0 11px 22px rgba(23,105,255,.23)}
.button-soft{background:#eaf1ff;color:var(--blue)}
.button-soft:hover{background:#dbe8ff}
.button-disabled{background:#93a9d0;box-shadow:none;cursor:default;pointer-events:none}
.button-disabled:hover{transform:none;background:#93a9d0;box-shadow:none}
.header-cta{min-height:45px;padding-inline:20px;font-size:12px;border-radius:9px;margin-left:12px}
.header-cta svg{display:none}
.menu-toggle{display:none;background:transparent;border:0;color:var(--ink);padding:8px;cursor:pointer}

.hero{overflow:hidden;background:radial-gradient(ellipse at 81% 43%,#eaf2ff 0,transparent 34%),linear-gradient(180deg,#fff 0%,#fff 78%,#f6f9fe 100%)}
.hero-grid{min-height:640px;display:grid;grid-template-columns:53% 47%;align-items:center;position:relative;padding-top:34px;padding-bottom:66px}
.hero-copy{position:relative;z-index:2;padding-right:10px}
.eyebrow{text-transform:uppercase;letter-spacing:.23em;color:#5f6e87;font-size:11px;font-weight:700;margin:0 0 20px}
.hero h1{font-size:clamp(48px,4.6vw,67px);line-height:.99;letter-spacing:-.075em;font-weight:900;margin:0;max-width:760px}
.hero h1>span:first-child,.hero h1 .outcome,.period,.section-heading h2 span,.contact h2 span{color:var(--blue)}
.hero-description{max-width:590px;color:#3b4a60;font-size:17px;line-height:1.52;margin:24px 0 27px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-actions .button{min-width:182px}
.hero-points{list-style:none;display:flex;gap:22px;margin:45px 0 0;padding:0;max-width:620px}
.hero-points li{display:flex;align-items:center;gap:9px;max-width:180px;font-size:11px;font-weight:600;line-height:1.35}
.check{flex:none;display:grid;place-items:center;background:var(--blue);color:white;width:21px;height:21px;border-radius:50%;font-size:12px;font-weight:800}
.hero-art{height:550px;position:relative;isolation:isolate}
.hero-glow{position:absolute;width:460px;height:460px;left:55px;top:60px;border:1px solid #e2ecff;border-radius:50%;background:radial-gradient(circle at 50% 50%,#e9f1ff 0%,#f9fbff 54%,rgba(255,255,255,0) 70%);box-shadow:0 0 0 45px rgba(230,239,255,.45),0 0 0 100px rgba(241,246,255,.5)}
.art-orbit{position:absolute;border:1px solid rgba(23,105,255,.14);border-radius:50%;pointer-events:none}
.orbit-one{width:15px;height:15px;background:#fff;top:72px;left:30px;box-shadow:0 6px 12px #bad0fb}
.orbit-two{width:19px;height:19px;background:var(--blue);right:7%;bottom:58px;box-shadow:0 7px 16px #96b8fa}
.mini-site{display:block;position:absolute;width:285px;height:198px;background:#fff;border:6px solid #fff;border-radius:16px;box-shadow:0 18px 42px rgba(30,56,97,.18);overflow:hidden;transition:transform .25s;z-index:1}
.mini-site:hover{transform:translateY(-7px) rotate(0deg)}
.mini-food{top:40px;left:12px;transform:rotate(-7deg)}
.mini-salon{top:143px;right:0;transform:rotate(6deg);z-index:3}
.mini-home{bottom:28px;left:38px;transform:rotate(-4deg);z-index:2}
.mini-browser{height:22px;padding:4px 7px;display:flex;align-items:center;gap:3px;background:#f8faff;color:#d4dded}
.mini-browser span{font-size:7px}.mini-browser span:first-child{color:#f2a5a5}.mini-browser span:nth-child(2){color:#f4cf74}.mini-browser span:nth-child(3){color:#9bddae}
.mini-browser small{margin-left:auto;margin-right:3px;font-size:6px;color:#95a2b4;text-transform:uppercase;letter-spacing:.1em}
.mini-body{display:grid;grid-template-columns:47% 53%;height:calc(100% - 22px)}
.mini-copy{display:flex;align-items:flex-start;flex-direction:column;padding:15px 8px 9px 12px;overflow:hidden}
.mini-copy small{font-size:6px;font-weight:800;margin-bottom:12px}
.mini-copy strong{font-size:19px;letter-spacing:-.07em;line-height:.97;font-weight:900}
.mini-copy em,.preview-content em{font-style:normal;color:var(--blue)}
.mini-copy span{font-size:6px;line-height:1.4;margin-top:8px;color:#515c6c}
.mini-copy b{font-size:6px;background:var(--blue);color:white;border-radius:3px;padding:5px 9px;margin-top:auto}
.mini-photo,.preview-photo{background-image:var(--photo-strip);background-repeat:no-repeat;background-size:300% 100%}
.photo-food{background-position:left center}.photo-salon{background-position:center center}.photo-home{background-position:right center}
.mini-salon .mini-copy{background:#fff7f7}.mini-salon .mini-copy b{background:#d47f8b}.mini-home .mini-copy{background:#f7faff}

.section{padding:82px 0}
.section-heading{text-align:center;margin:0 auto 36px}
.section-heading .eyebrow{margin-bottom:15px}
.section-heading h2{font-size:clamp(32px,3.6vw,49px);line-height:1.09;letter-spacing:-.065em;font-weight:900;margin:0}
.section-heading>p:last-child{font-size:15px;line-height:1.55;color:#536177;margin:14px auto 0;max-width:680px}
.services,.process{background:#f6f9fe}
.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.service-card{min-height:190px;background:#fff;border:1px solid #eef2f8;border-radius:15px;text-align:center;padding:24px 13px 17px;box-shadow:0 8px 28px rgba(40,70,125,.035)}
.service-card svg{display:block;width:46px;height:46px;margin:0 auto 20px;color:var(--blue);stroke-width:1.8}
.service-card h3{font-size:14px;letter-spacing:-.035em;margin:0 0 8px;font-weight:800}
.service-card p{font-size:11px;line-height:1.45;color:#5c6980;margin:0}
.service-note{text-align:center;font-size:12px;line-height:1.5;color:#637187;margin:23px 0 0}

.samples{background:#fff}
.samples-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sample-card{min-width:0}
.sample-preview{aspect-ratio:1.43;background:#fff;border:1px solid #e7ecf5;box-shadow:0 15px 28px rgba(25,50,92,.10);border-radius:10px;overflow:hidden}
.preview-nav{height:13%;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 5%;font-size:clamp(5px,.52vw,8px);white-space:nowrap}
.preview-nav b{font-size:1.1em}.preview-nav span{color:#394559}.preview-nav i{font-style:normal;background:#794626;color:#fff;padding:6px 8px;border-radius:4px}
.preview-content{display:grid;grid-template-columns:50% 50%;height:87%}
.preview-content>div:first-child{padding:12% 5% 7% 10%;display:flex;flex-direction:column;align-items:flex-start}
.preview-content h3{font-size:clamp(20px,2.4vw,36px);letter-spacing:-.08em;line-height:.96;margin:0;font-weight:900}
.preview-content p{font-size:clamp(7px,.75vw,11px);line-height:1.4;color:#5e6876;margin:10px 0 0}
.preview-button{font-size:clamp(6px,.65vw,9px);font-weight:700;background:var(--blue);color:white;padding:7px 11px;border-radius:4px;margin-top:auto}
.restaurant-preview .preview-button{background:#794626}.salon-preview{background:#fff7f7}.salon-preview .preview-nav i,.salon-preview .preview-button{background:#d47f8b}.home-preview .preview-nav i{background:var(--blue)}
.home-preview .preview-content h3{font-size:clamp(18px,2.1vw,32px)}
.sample-caption{padding:17px 2px 0}.sample-caption h3{font-size:16px;letter-spacing:-.03em;margin:0 0 5px}.sample-caption p{font-size:12px;color:#536177;margin:0;line-height:1.45}
.samples-disclaimer{text-align:center;color:#7c8797;font-size:11px;margin:28px 0 0}

.process{padding:75px 0 82px}
.process-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0;margin:46px 0 0}
.process-grid li{display:flex;align-items:flex-start;gap:17px;position:relative;padding:0 20px}
.process-grid li:not(:last-child)::after{content:"→";position:absolute;right:-18px;top:13px;color:#657a9b;font-size:28px;font-weight:300}
.step-number{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;background:var(--blue);font-size:21px;font-weight:800;box-shadow:0 7px 15px rgba(23,105,255,.19)}
.process-grid h3{font-size:15px;letter-spacing:-.035em;margin:2px 0 6px}.process-grid p{font-size:12px;line-height:1.5;color:#536177;margin:0;max-width:240px}

.questions{background:#fff}.questions-grid{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:8%;align-items:start}.questions-intro h2{font-size:clamp(35px,3.8vw,51px);font-weight:900;letter-spacing:-.065em;line-height:1.08;margin:0}.questions-intro h2 span{color:var(--blue)}.questions-intro>p:last-child{font-size:14px;color:#536177;line-height:1.6;max-width:390px;margin:18px 0 0}.questions-list{border-top:1px solid var(--line)}.questions-list details{border-bottom:1px solid var(--line);padding:21px 0}.questions-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:15px;font-weight:800;letter-spacing:-.025em}.questions-list summary::-webkit-details-marker{display:none}.questions-list summary span{font-size:23px;color:var(--blue);font-weight:400;line-height:1;transition:transform .2s}.questions-list details[open] summary span{transform:rotate(45deg)}.questions-list details p{color:#536177;font-size:13px;line-height:1.65;margin:14px 45px 1px 0}

.contact{overflow:hidden;background:linear-gradient(105deg,#fff 0%,#fff 45%,#f0f5ff 100%);padding:80px 0 55px}
.contact-grid{display:grid;grid-template-columns:48% 52%;align-items:center;min-height:330px}
.contact h2{font-size:clamp(39px,4.6vw,65px);letter-spacing:-.07em;line-height:1.03;font-weight:900;margin:0}
.contact-copy>p:not(.eyebrow){color:#4e5d72;line-height:1.55;font-size:15px;max-width:460px;margin:18px 0 27px}
.contact-button{min-width:195px}
.contact-art{height:340px;position:relative;display:flex;align-items:center;justify-content:center}
.laptop{width:min(100%,520px);position:relative;transform:perspective(900px) rotateY(-12deg) rotateX(2deg);filter:drop-shadow(0 17px 20px rgba(33,51,80,.21))}
.laptop-screen{background:white;border:12px solid #141922;border-bottom-width:15px;border-radius:13px 13px 7px 7px;aspect-ratio:1.6;overflow:hidden}
.laptop-top{height:19%;display:flex;justify-content:space-between;align-items:center;padding:0 7%;font-size:6px;color:#526074}.laptop-top img{width:95px}
.laptop-body{height:81%;display:grid;grid-template-columns:55% 45%;background:#f8faff}
.laptop-body>div:first-child{padding:13% 0 0 12%}.laptop-body strong{font-size:clamp(20px,2.4vw,34px);line-height:.98;letter-spacing:-.065em;font-weight:900;display:block}.laptop-body p{font-size:8px;line-height:1.5;color:#617088;max-width:130px;margin:9px 0}.laptop-body span{display:inline-block;font-size:7px;background:var(--blue);color:white;border-radius:4px;padding:7px 10px}
.laptop-base{height:14px;margin:-2px -9% 0;background:linear-gradient(#c9cdd4,#959ba5);border-radius:2px 2px 50% 50%;box-shadow:0 8px 0 -4px #737a85}
.plant-scene{position:relative;background:linear-gradient(135deg,#ecf3ed,#fafcf8 45%,#e5ebe5);overflow:hidden}.plant-scene::before{content:"";position:absolute;right:11%;top:18%;width:65%;height:58%;background:rgba(255,255,255,.65);border-radius:50%;filter:blur(16px)}
.plant-pot{position:absolute;bottom:10%;left:46%;width:26%;height:26%;background:linear-gradient(100deg,#b6aa93,#e0d7c9);clip-path:polygon(0 0,100% 0,83% 100%,16% 100%);z-index:2;box-shadow:0 8px 9px #b9c1b3}
.plant-leaf{position:absolute;left:57%;bottom:35%;width:16%;height:40%;background:#536f4c;border-radius:100% 0 100% 0;transform-origin:bottom left;z-index:1}.leaf-a{transform:rotate(-35deg)}.leaf-b{transform:rotate(25deg);background:#6e8d60}.leaf-c{transform:rotate(-80deg);height:32%;background:#83a274}.leaf-d{transform:rotate(75deg);height:30%;background:#405e42}

.site-footer{background:#fff}.footer-main{min-height:115px;display:flex;align-items:center;gap:35px}.footer-main .brand img{width:150px}.footer-main nav{display:flex;gap:24px;margin:auto;font-size:11px;color:#405069;font-weight:600}.footer-main nav a:hover{color:var(--blue)}.footer-about{display:flex;flex-direction:column;font-size:10px;line-height:1.5;color:#4a5a6d}.footer-about strong{font-size:11px;color:var(--ink)}.footer-bottom{border-top:1px solid #dce5f4;display:flex;justify-content:space-between;padding:19px 0 25px;color:#637187;font-size:11px}

@media(max-width:1100px){.container{width:min(100% - 48px,1280px)}.main-nav{gap:20px}.header-inner{gap:20px}.hero h1{font-size:clamp(45px,5.3vw,62px)}.hero-art{transform:scale(.88);transform-origin:center right;margin-left:-45px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:165px}.service-card svg{margin-bottom:15px}.preview-nav span{display:none}}
@media(max-width:760px){html{scroll-padding-top:72px}.container{width:min(100% - 36px,600px)}.header-inner{height:70px}.brand img{width:143px}.header-cta{margin-left:auto;padding-inline:14px;min-height:40px}.menu-toggle{display:block;order:3}.menu-toggle svg{width:25px;height:25px}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;padding:12px 18px 20px;background:#fff;box-shadow:0 18px 25px rgba(23,45,75,.12);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{font-size:14px;padding:13px 10px;border-bottom:1px solid #f1f4f9}.main-nav a.active::after{display:none}.hero-grid{display:flex;flex-direction:column;padding:55px 0 35px;min-height:0}.hero-copy{padding:0;width:100%}.hero h1{font-size:clamp(43px,9.4vw,65px)}.hero-description{font-size:15px;margin:21px 0 23px}.hero-actions .button{min-width:0;flex:1}.hero-points{margin-top:30px;gap:12px;justify-content:space-between}.hero-points li{font-size:10px;max-width:155px}.hero-art{width:min(100%,540px);height:435px;transform:scale(.85);transform-origin:center center;margin:12px 0 -35px}.hero-glow{top:10px;left:12%;width:360px;height:360px}.mini-food{left:0;top:10px}.mini-salon{right:0;top:110px}.mini-home{left:35px;bottom:0}.section{padding:65px 0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(31px,7vw,43px)}.services-grid{grid-template-columns:repeat(2,1fr)}.samples-grid{gap:28px;grid-template-columns:1fr}.sample-preview{max-width:560px;margin:auto}.preview-nav{font-size:clamp(6px,1.7vw,10px)}.preview-nav span{display:block}.preview-content h3{font-size:clamp(26px,6vw,47px)}.preview-content p{font-size:clamp(9px,2vw,14px)}.preview-button{font-size:clamp(8px,1.8vw,12px)}.sample-caption{max-width:560px;margin:auto}.process-grid{grid-template-columns:1fr;gap:26px;margin-top:34px}.process-grid li{padding:0 10px}.process-grid li:not(:last-child)::after{display:none}.process-grid p{max-width:none}.questions-grid{grid-template-columns:1fr;gap:28px}.questions-intro h2{font-size:clamp(34px,7vw,45px)}.questions-list summary{font-size:14px}.contact-grid{grid-template-columns:1fr}.contact-art{margin-top:24px;height:300px}.footer-main{padding:31px 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-main nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;margin:0}.footer-about{align-self:center}}
@media(max-width:460px){.header-cta{display:none}.hero-grid{padding-top:44px}.hero h1{font-size:clamp(39px,10vw,47px)}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:14px 8px}.hero-points li{max-width:none}.hero-art{width:440px;max-width:none;align-self:center;transform:scale(.68);margin:-50px 0 -76px}.section-heading h2{font-size:33px}.service-card{padding-inline:9px}.preview-nav span{display:none}.footer-main nav{gap:16px}.footer-bottom{gap:20px;line-height:1.5}.contact-art{height:240px}.laptop{width:90%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Data platform messaging and linked projects. */
.insight-copy{padding:14px 18px}.insight-copy svg{width:26px;height:26px;fill:none;stroke:var(--blue);stroke-width:2;margin-bottom:8px}.insight-copy strong{display:block;font-size:23px;line-height:1.1;letter-spacing:-.04em}.insight-copy p{font-size:11px;line-height:1.5;margin-top:8px;color:#515c6c}.mini-salon.insight-card{background:#edf4ff}.insight-card .mini-browser small{font-size:8px}

/* Project cards use the featured platforms' own identities. */
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-card{--project-accent:#be0909;--project-surface:#f7f2e9;--project-ink:#6e302a}
.project-sipa{--project-accent:#ff7909;--project-surface:#141414;--project-ink:#eeefda}
.project-cover{height:360px;padding:24px 28px;background:var(--project-surface);color:var(--project-ink);border:1px solid rgba(110,48,42,.1);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s}
.project-cover-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.project-cover-top>span:first-child{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.project-arrow{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid currentColor;border-radius:50%;color:var(--project-accent);font-size:22px;transition:background .25s,color .25s}
.project-logo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 20px}
.project-logo{object-fit:contain;transition:transform .3s}
.project-logo-east{width:82%;max-width:360px;height:auto}
.project-sipa .project-logo-stage{padding:0;overflow:hidden}
.project-logo-sipa{height:155%;width:auto;max-width:none;mix-blend-mode:lighten}
.project-domain{margin:0;font-size:11px;font-weight:500;letter-spacing:.02em}
.project-card .sample-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 3px 0}
.project-card .sample-caption h3{margin:0}
.project-card .sample-link{margin:0;color:#6e302a;white-space:nowrap}
.project-sipa .sample-link{color:#9b4300}
.project-card:hover .project-cover,.project-card:focus-visible .project-cover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(30,25,20,.12)}
.project-card:hover .project-logo,.project-card:focus-visible .project-logo{transform:scale(1.035)}
.project-card:hover .project-arrow,.project-card:focus-visible .project-arrow{background:var(--project-accent);border-color:var(--project-accent);color:var(--project-surface)}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-cover{height:340px}}
@media(max-width:460px){.project-cover{height:300px;padding:20px}.project-logo-stage{padding-inline:0}.project-logo-east{width:90%}.project-card .sample-caption h3{font-size:15px}.project-card .sample-link{font-size:10px}}
